当前位置:   article > 正文

使用org.apache.commons.io.FileUtils,IOUtils工具类操作文件

使用org.apache.commons.io.FileUtils,IOUtils工具类操作文件

转载自 使用org.apache.commons.io.FileUtils,IOUtils;工具类操作文件

  1. File src = new File("G:/2012/portal/login.jsp");
  2. File tar = new File("G:/2012/portal/loginZs.jsp");
  3. File tarDir = new File("G:/2012/portal/center/");
  4. FileUtils.copyFile(src,tar);//复制文件
  5. FileUtils.copyFileToDirectory(src, tarDir);//复制文件到指定文件夹  

 

  1. File src = new File("G:/2012/portal/login.jsp");
  2. File tar = new File("G:/2012/portal/loginZs.jsp");
  3. File tarDir = new File("G:/2012/portal/center/");
  4. FileUtils.copyFile(src,tar);//复制文件
  5. FileUtils.copyFileToDirectory(src, tarDir);//复制文件到指定文件夹

 

Commons IO是apache的一个开源的工具包,封装了IO操作的相关类,使用Commons IO可以很方便的读写文件,

 

FileUtils 中提供了许多设计文件操作的 已封装好的方法。

IOUtils 则是提供了读写文件的方法。

 

读取文件:

  1. // by FileUtils
  2. List<String> lines = FileUtils.readLines(file, "UTF-8");
  3. // by IOUtils
  4. List<String> lines = IOUtils.readLines(new FileInputStream(file), "UTF-8");

写入文件:

  1. // by FileUtils
  2. FileUtils.writeLines(file, "UTF-8", lines);
  3. // by IOUtils
  4. IOUtils.writeLines(lines, null, new FileOutputStream(file));
  1. public class IoTest {
  2. /**
  3. * @param args
  4. */
  5. public static void main(String[] args) throws Exception {
  6. // 输入流复制到 输出流
  7. Writer write = new FileWriter("c:\\kk.dat");
  8. InputStream ins = new FileInputStream(new File("c:\\text.txt"));
  9. IOUtils.copy(ins, write);
  10. write.close();
  11. ins.close();
  12. //文本写入指定文件
  13. String name = "my name is panxiuyan";
  14. File file = new File("c:\\name.txt");
  15. FileUtils.writeStringToFile(file, name);
  16. //将输入流转换成文本
  17. URL url = new URL("http://www.dimurmill.com");
  18. InputStream ins = url.openStream();
  19. String contents = IOUtils.toString(ins,"UTF-8");
  20. System.out.println( "Slashdot: " + contents );
  21. //关闭相关流
  22. File file = null;
  23. InputStream ins = null;
  24. try{
  25. file = new File("C:\\Test.java");
  26. ins = new FileInputStream(file);
  27. }catch(Exception e){
  28. e.printStackTrace();
  29. }finally{
  30. IOUtils.closeQuietly(ins);
  31. }
  32. }
  33. //文件复制
  34. File srcfile = new File("c:\\Test.java");
  35. File destfile = new File("c:\\Test.java.bak");
  36. FileUtils.copyFile(srcfile, destfile);
  37. //文件复制指定的目录
  38. File srcfile = new File("c:\\Test.java");
  39. File destDir = new File("D:\\");
  40. FileUtils.copyFileToDirectory(srcfile, destDir);
  41. //网络流保存为文件
  42. URL url = new URL("http://www.163.com");
  43. File file = new File("c:\\163.html");
  44. FileUtils.copyURLToFile(url, file);
  45. //文件目录操作
  46. File dir = new File("c:\\test");
  47. FileUtils.cleanDirectory(dir);//清空目录下的文件
  48. FileUtils.deleteDirectory(dir);//删除目录和目录下的文件
  49. //目录大小
  50. long size = FileUtils.sizeOfDirectory(dir);
  51. //目录操作
  52. File testFile = new File( "testFile.txt" );
  53. //如果不存在,新建
  54. // 如果存在,修改文件修改时间
  55. FileUtils.touch( testFile );
  56. //记录流的读取写入字节数
  57. File test = new File( "test.dat" );
  58. //输出流的统计
  59. CountingOutputStream countStream = null;
  60. //输入流的统计
  61. //CountingInputStream countStream = null;
  62. try {
  63. FileOutputStream fos = new FileOutputStream( test );
  64. countStream = new CountingOutputStream( fos );
  65. countStream.write( "Hello".getBytes( ) );
  66. } catch( IOException ioe ) {
  67. System.out.println( "Error writing bytes to file." );
  68. } finally {
  69. IOUtils.closeQuietly( countStream );
  70. }
  71. if( countStream != null ) {
  72. int bytesWritten = countStream.getCount( );
  73. System.out.println( "Wrote " + bytesWritten + " bytes to test.dat" );
  74. }
  75. //相同的内容写入不同的文本
  76. File test1 = new File("split1.txt");
  77. File test2 = new File("split2.txt");
  78. OutputStream outStream = null;
  79. try {
  80. FileOutputStream fos1 = new FileOutputStream( test1 );
  81. FileOutputStream fos2 = new FileOutputStream( test2 );
  82. //包含不同的文本
  83. outStream = new TeeOutputStream( fos1, fos2 );
  84. outStream.write( "One Two Three, Test".getBytes( ) );
  85. outStream.flush( );
  86. } catch( IOException ioe ) {
  87. System.out.println( "Error writing to split output stream" );
  88. } finally {
  89. IOUtils.closeQuietly( outStream );
  90. }
  91. }
  92. }

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/309746
推荐阅读
相关标签
  

闽ICP备14008679号