读书人

commons-io2的一些施用

发布时间: 2012-10-08 19:54:56 作者: rapoo

commons-io2的一些应用

import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.Writer;import java.net.MalformedURLException;import java.net.URL;import java.util.List;import org.apache.commons.io.FileSystemUtils;import org.apache.commons.io.FileUtils;import org.apache.commons.io.FilenameUtils;import org.apache.commons.io.IOUtils;import org.apache.commons.io.LineIterator;public class TestIoDemo {private void phasmethod(){//拷贝文件try {File src = new File("test.dat");        File dest = new File("test.dat.bak");                  FileUtils.copyFile(src, dest);    } catch(IOException ioe) {        System.out.println("Problem copying file.");    }        //拷贝文件到指定目录    try {        File src = new File("test.dat");        File dir = new File("./temp");         FileUtils.copyFileToDirectory(src, dir);    } catch(IOException ioe) {        System.out.println("Problem copying file to dir.");    }          //往文件里写一个字符串    try {    String string = "Blah blah blah";        File dest = new File("test.tmp");                  FileUtils.writeStringToFile(dest, string, "ISO-8859-1");    } catch( IOException ioe ) {        System.out.println("Error writing out a String.");           }          //拷贝数据    try {        Writer writer = new FileWriter("test.dat");        InputStream inputStream = TestIoDemo.class.getClass().getResourceAsStream("/io/web.xml");        IOUtils.copy(inputStream, writer);        writer.close();        inputStream.close();    } catch (IOException e) {        System.out.println("Error copying data");    }     //拷贝数据    try {        File src = new File("test.txt");        OutputStream output = new FileOutputStream(src);        InputStream inputStream = TestIoDemo.class.getClass().getResourceAsStream("/io/web.xml");        IOUtils.copy(inputStream, output);//        writer.close();        inputStream.close();        output.close();    } catch (IOException e) {        System.out.println("Error copying data");    }            //把Collection或List中的数据按格式写入OutputStream输出流中            try{                File src = new File("test.txt");        OutputStream output = new FileOutputStream(src);                List targetList = new ArrayList();                targetList.add("111");                targetList.add("中文");                targetList.add("~!@#$%^&*(){}<>?\/");                IOUtils.writeLines(targetList, IOUtils.LINE_SEPARATOR, output, "GB18030");            } catch (IOException e) {        System.out.println("Error copying data");    }            //把一个文件中的部分内容修改后存入另一个文件中            try{                OutputStream output = null;        InputStream inputStream = null;                File targetfile = new File("目标文件.txt");                output = new FileOutputStream(targetfile); //创建一个新的空文件                inputStream = new FileInputStream("源文件.txt");  //读源文件                List srcfilelines = FileUtils.readLines(new File(源文件.txt), "GB18030");        List targetList = new ArrayList();        for(Object linestr : srcfilelines){           if(linestr.toString().length() > 7){                                     if("password".equals(linestr.toString().substring(0, 8))){                                                                         System.out.println(linestr.toString().substring(9).trim());          targetList.add("password=" + ConvertCode.getBase64Pwd(linestr.toString().substring(9).trim()));       }else{            targetList.add(linestr.toString());       }            }else{            targetList.add(linestr.toString());            }         }                     IOUtils.writeLines(targetList, IOUtils.LINE_SEPARATOR, output, "GB18030");                 IOUtils.closeQuietly(outputStream);                 IOUtils.closeQuietly(inputStream);                          outputStream.flush();   //及时刷新文件流            inputStream.close();           output.close();            } catch (IOException e) {        System.out.println("Error copying data");    }  finally {                  //关闭流                  if (inputStream != null) {                      try {                          IOUtils.closeQuietly(inputStream);                    inputStream.close();                     } catch (IOException exf) {                      inputStream = null;                          exf.printStackTrace();                    }                  }                if (output != null) {                      try {                        IOUtils.closeQuietly(outputStream);                        outputStream.flush();   //及时刷新文件流                      output.close();                      } catch (IOException exf) {                      output = null;                          exf.printStackTrace();                    }                  }            }            //对一个文件中的部分内容进行修改后保存            try{                InputStream inputStream = null;                OutputStream outputStream = null;                inputStream = new FileInputStream("C:\myshihuan.txt");                List filelines = FileUtils.readLines(new                                   File("C:\myshihuan.txt"), "UTF-8");                List list = new ArrayList();                for(Object linestr : filelines){                    if(linestr.toString().equal("shihuan")){                        list.add("xiugaidata");                       }else{                        list.add(linestr.toString());                    }                }                File file = new File("C:\myshihuan.txt");                outputStream = new FileOutputStream(file);                IOUtils.writeLines(list, IOUtils.LINE_SEPARATOR, outputStream, "UTF-8");                IOUtils.closeQuietly(outputStream);                IOUtils.closeQuietly(inputStream);                outputStream.flush();   //及时刷新文件流                outputStream.close();                inputStream.close();            }catch(IOException ex){                logger.error(ex.getMessage());                ex.printStackTrace();            }finally {                //关闭流                if (inputStream != null) {                   try {                      IOUtils.closeQuietly(inputStream);                      inputStream.close();                   } catch (IOException exf) {                      inputStream = null;                      logger.error(exf.getMessage());                      exf.printStackTrace();                   }                }                if (outputStream != null) {                   try {                      IOUtils.closeQuietly(outputStream);                      outputStream.flush();   //及时刷新文件流                      outputStream.close();                   } catch (IOException exf) {                      outputStream = null;                      logger.error(exf.getMessage());                      exf.printStackTrace();                   }                }            }}        public void printFileXg(){          String filepn = "D:\shihuan\myboby\mydaling.txt";          //mydaling  System.out.println(FilenameUtils.getBaseName(filepn));           //shihuan\myboby\  System.out.println(FilenameUtils.getPath(filepn));            //D:\   System.out.println(FilenameUtils.getPrefix(filepn));          //shihuan\myboby                        System.out.println(FilenameUtils.getPathNoEndSeparator(filepn));          //D:\shihuan\myboby  System.out.println(FilenameUtils.getFullPathNoEndSeparator(filepn));               //D:\shihuan\myboby\  System.out.println(FilenameUtils.getFullPath(filepn));            //txt   System.out.println(FilenameUtils.getExtension(filepn));          String filecurdir = filepn.substring(0, filepn.lastIndexOf(SystemUtils.FILE_SEPARATOR));   //上传文件路径          String filename = filepn.split(SystemUtils.FILE_SEPARATOR + SystemUtils.FILE_SEPARATOR)[filepn.split(SystemUtils.FILE_SEPARATOR + SystemUtils.FILE_SEPARATOR).length-1];  //上传文件名字          String filenameprefix = filename.substring(0, filename.lastIndexOf("."));   //文件名前缀          String filenamesuffix = filename.substring(filename.lastIndexOf("."), filename.length());   //文件名后缀           }/** * @param args */public static void main(String[] args) {//直接将IO流转成字符串 InputStream in = null;try {in = new URL( "http://jakarta.apache.org" ).openStream();try {   System.out.println(IOUtils.toString(in)); } finally {   IOUtils.closeQuietly(in); }//读取文本文件的所有行File file = new File("/commons/io/project.properties"); List lines = FileUtils.readLines(file, "UTF-8");//路径处理 String filename = "C:/commons/io/../lang/project.xml"; String normalized = FilenameUtils.normalize(filename); // result is "C:/commons/lang/project.xml"//获取目录空间 long freeSpace = FileSystemUtils.freeSpace("C:/"); //打印文件的所有行LineIterator it = FileUtils.lineIterator(file, "UTF-8"); try {   while (it.hasNext()) {     String line = it.nextLine();     /// do something with line   } } finally {   LineIterator.closeQuietly(it); }//文件删除File file1 = new File(("io/project.properties"));    String display = FileUtils.byteCountToDisplaySize(file1.length());    System.out.println("project.xml is " + display);    FileUtils.forceDelete(file1);} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} }}

读书人网 >行业软件

热点推荐