利用org.apache.commons.io.FileUtils快速读写文件
http://php.11519.net/5jblog/?p=475
API:http://commons.apache.org/io/api-release/org/apache/commons/io/FileUtils.html
String fileName = "C://11.txt";
File file = new File(fileName);
String fileContent = "";
try {
fileContent = org.apache.commons.io.FileUtils.readFileToString(file, "GBK");
} catch (IOException e) {
e.printStackTrace();
}
fileContent +="Helloworld";
try {
org.apache.commons.io.FileUtils.writeStringToFile(file, fileContent, "GBK");
} catch (IOException e) {
e.printStackTrace();
}
其他参考
Commons
IO方便读写文件的工具类:http://laoyu.info/archives/282.html
Commons IO是apache的一个开源的工具包,封装了IO操作的相关类,使用Commons IO可以很方便的读写文件,url源代码等.
普通地读取一个网页的源代码的代码可能如下
-
InputStreamin =newURL("http://laoyu.info").openStream();
-
try{
-
InputStreamReaderinR =newInputStreamReader(in);
-
BufferedReaderbuf =newBufferedReader(inR);
-
Stringline;
-
while((line
= buf.readLine())!=null){
-
System.out.println(line);
-
}
-
}finally{
-
in.close();
-
}
使用了Commons IO,则可以大大简化代码.如下:
-
InputStreamin =newURL("http://laoyu.info").openStream();
-
try{
-
System.out.println(IOUtils.toString(in));
-
}finally{
-
IOUtils.closeQuietly(in);
-
}
Commons IO里的常用类
FileUtils包含了文件操作的相关方法.
下面的代码用于读取磁盘上的某个文件:
-
Filefile =newFile("c:/test.txt");
-
Listlines = FileUtils.readLines(file,"UTF-8");
FileSystemUtils 可以获得指定磁盘路径的可用空间
-
longfreeSpace = FileSystemUtils.freeSpace("d:/");
文件复制代码:
-
Filesrc =newFile("src.txt");
-
Filedest =newFile("dest.txt");
-
FileUtils.copyFile(src, dest);
补充:
方便地下载文件到本地
-
InputStreamin =new
-
URL("http://www.baidu.com/img/baidu_logo.gif").openStream();
-
byte[]gif
= IOUtils.toByteArray(in);
-
//IOUtils.write(gif,new FileOutputStream(new File("c:/test.gif")));
-
FileUtils.writeByteArrayToFile(newFile("c:/test.gif"),gif);
-
IOUtils.closeQuietly(in);
分享 commons io 工具类 代码:http://www.javaeye.com/topic/575996
输入流复制到输出流
-
publicclassIoTest{
-
-
-
-
-
publicstaticvoidmain(String[]args)throwsException{
-
-
Writerwrite=newFileWriter("c:\\kk.dat");
-
-
InputStreamins=newFileInputStream(newFile("c:\\text.txt"));
-
-
IOUtils.copy(ins,write);
-
write.close();
-
-
ins.close();
-
}
-
-
}
文本写入指定文件
-
publicclassFileWirterTest{
-
-
-
-
-
publicstaticvoidmain(String[]args)throwsException{
-
-
-
Stringname="mynameispanxiuyan";
-
-
Filefile=newFile("c:\\name.txt");
-
-
FileUtils.writeStringToFile(file,name);
-
-
}
-
-
}
将输入流转换成文本
-
publicclassURLIoTest{
-
-
-
-
-
publicstaticvoidmain(String[]args)throwsException{
-
-
URLurl=newURL("http://www.dimurmill.com");
-
-
InputStreamins=url.openStream();
-
-
Stringcontents=IOUtils.toString(ins,"UTF-8");
-
System.out.println("Slashdot:"+contents);
-
-
-
}
-
-
}
关闭相关流
-
publicclassIoCloseTest{
-
-
-
-
-
publicstaticvoidmain(String[]args){
-
-
-
Filefile=null;
-
-
InputStreamins=null;
-
try{
-
file=newFile("C:\\Test.java");
-
-
ins=newFileInputStream(file);
-
}catch(Exceptione){
-
e.printStackTrace();
-
}finally{
-
IOUtils.closeQuietly(ins);
-
}
-
-
}
-
-
}
文件复制
-
publicclassFileCopyTest{
-
-
-
-
-
publicstaticvoidmain(String[]args)throwsException{
-
-
-
Filesrcfile=newFile("c:\\Test.java");
-
-
Filedestfile=newFile("c:\\Test.java.bak");
-
-
-
FileUtils.copyFile(srcfile,destfile);
-
-
}
-
-
}
文件复制指定的目录
-
publicclassFileCopyTest{
-
-
-
-
-
publicstaticvoidmain(String[]args)throwsException{
-
-
-
Filesrcfile=newFile("c:\\Test.java");
-
-
FiledestDir=newFile("D:\\");
-
-
-
FileUtils.copyFileToDirectory(srcfile,destDir);
-
-
}
-
-
}
网络流保存为文件
-
publicclassURLToFileTest{
-
-
-
-
-
publicstaticvoidmain(String[]args)throwsException{
-
-
-
URLurl=newURL("http://www.163.com");
-
-
Filefile=newFile("c:\\163.html");
-
-
FileUtils.copyURLToFile(url,file);
-
-
}
-
-
}
文件目录操作
-
publicclassDirOper{
-
-
-
-
-
publicstaticvoidmain(String[]args)throwsException{
-
-
-
Filedir=newFile("c:\\test");
-
-
FileUtils.cleanDirectory(dir);
-
-
FileUtils.deleteDirectory(dir);
-
-
}
-
-
}
目录大小
-
longsize=FileUtils.sizeOfDirectory(dir);
目录操作
-
FiletestFile=newFile("testFile.txt");
-
-
-
-
-
-
FileUtils.touch(testFile);
-
记录流的读取写入字节数
-
Filetest=newFile("test.dat");
-
-
-
CountingOutputStreamcountStream=null;
-
-
-
-
-
-
-
-
try{
-
-
FileOutputStreamfos=newFileOutputStream(test);
-
-
countStream=newCountingOutputStream(fos);
-
-
countStream.write("Hello".getBytes());
-
-
}catch(IOExceptionioe){
-
-
System.out.println("Errorwritingbytestofile.");
-
-
}finally{
-
-
IOUtils.closeQuietly(countStream);
-
-
}
-
-
-
-
if(countStream!=null){
-
-
intbytesWritten=countStream.getCount();
-
-
System.out.println("Wrote"+bytesWritten+"bytestotest.dat");
-
-
}
相同的内容写入不同的文本
-
Filetest1=newFile("split1.txt");
-
-
Filetest2=newFile("split2.txt");
-
-
OutputStreamoutStream=null;
-
-
-
-
try{
-
-
FileOutputStreamfos1=newFileOutputStream(test1);
-
-
FileOutputStreamfos2=newFileOutputStream(test2);
-
-
-
outStream=newTeeOutputStream(fos1,fos2);
-
-
-
-
outStream.write("OneTwoThree,Test".getBytes());
-
-
outStream.flush();
-
-
}catch(IOExceptionioe){
-
-
System.out.println("Errorwritingtosplitoutputstream");
-
-
}finally{
-
-
IOUtils.closeQuietly(outStream);
-
-
}
转自:http://www.cnblogs.com/hellofei/archive/2010/04/10/1707131.html
分享到:
相关推荐
Apache Commons IO库中的`org.apache.commons.io.FileUtils`类是一个非常实用的工具类,它提供了大量方便、高效的方法,用于处理文件系统操作。这个类在Java开发中被广泛使用,尤其是在处理大量的文件读写和管理任务...
解决Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils 类似错误,需要导入jar包,下载地址是http://commons.apache.org/proper/commons-io/download_io.cgi
`org.apache.commons.io`是这个库的核心包,包含了许多与文件、流、过滤器、读写操作相关的类和工具。 1. **文件操作**: `FileUtils` 类提供了大量的静态方法,用于执行文件和目录的操作,如复制、移动、删除、创建...
"org.apache.commons jar" 指的是这个项目中相关组件的集合,通常包含多个模块,每个模块专注于特定的编程任务。 1. **Apache Commons Lang**: 这个模块提供了许多高级字符串处理、日期和时间操作、数学计算以及...
"org.apache.commons" 是这个项目的主要命名空间,包含了许多子包,用于实现各种实用功能。在这个压缩包中,你可能会找到如 Commons Lang、Commons IO、Commons Collections、Commons BeanUtils 等多个子项目的集合...
相较于Java标准库中的`java.io.File`类提供的`copy()`方法,`commons-io`的`FileUtils.copyFile()`更简单易用,且异常处理更简洁。 总的来说,`commons-io-2.5.jar` 是Java开发者的强大工具,它极大地扩展了Java IO...
"org.apache.commons" 指的是 Apache Commons 项目下的顶级命名空间,包含了多个子模块,每个模块都专注于解决特定的问题或提供特定的功能。这个 jar 包是将这些功能集合在一起的便利工具,便于开发者集成到自己的 ...
Commons IO 是 Apache Software Foundation 开发的一个 Java 库,它的核心组件是 `commons-io-2.6.jar`。这个版本的 JAR 文件包含了丰富的输入/输出流、文件操作、I/O 流工具类以及与文件系统交互的相关功能。下面将...
在描述中提到的"org.apache.commons.io.FileUtils"是Apache Commons IO中的一个关键类,它提供了大量静态方法来简化文件操作,如复制、移动、删除、读写文件等。以下是一些FileUtils类中的核心功能: 1. 文件复制:...
Apache Commons IO 是一个Java库,专门用于处理输入/输出(I/O)操作。这个库提供了大量的实用工具类,简化了常见的文件、流、过滤器、读写操作等任务。"commons-io-2.11.0.rar"是Apache Commons IO库的版本2.11.0的...
在"org.apache.commons 所有jar包 非常实用"这个压缩包中,你将找到一系列与 Apache Commons 相关的 jar 包,这些 jar 包包含了多种模块,每个模块都有其特定的用途。 1. **Commons Lang**: 这个模块提供了一些高级...
Apache Commons IO是Java开发中常用的一个开源库,其核心组件是`org.apache.commons.io.jar`文件。这个库提供了一系列高度实用的I/O操作类,大大简化了对输入/输出流的处理,为开发者提供了丰富的功能和强大的工具。...
10. **源码分析**:由于包含源码,开发者可以深入理解Apache Commons IO库的内部工作原理,学习优秀的编程实践,并根据需求进行扩展或定制。 Apache Commons IO 是Java开发中的重要辅助库,它的功能强大且实用,...
1. Apache Commons IO: 这个模块专注于输入/输出操作,如文件处理、流操作、数据转换等。它提供了一系列方便实用的类和方法,比如FileUtils用于文件操作,IOUtils用于流的读写和复制,以及EndianUtils用于处理字节序...
《Apache Commons IO 2.6在Java开发中的应用详解》 Apache Commons IO是Apache软件基金会的一个开源项目,它提供了一系列实用的I/O操作工具,极大地简化了Java开发中与输入/输出相关的任务。其中,`commons-io-2.6....
2. **Commons IO**: 专注于文件输入输出相关的操作,提供了一些方便的类和方法,如 FileUtils、IOUtils、FileFilter 等。 3. **Commons Collections**: 为 Java 集合框架提供了扩展,包括各种集合操作、转换和工厂...
Apache Commons IO 是一个Java库,专门用于处理输入/输出(I/O)操作。这个库提供了大量的实用工具类,使得在处理文件、流、过滤器、读写操作时更加方便。"commons-io-2.5.jar"是Apache Commons IO库的一个版本,...
在Java开发中,进行文件操作是必不可少的一部分,Apache Commons IO库提供了一个非常方便的工具类FileUtils,它对Java基础的IO操作进行了封装,使得文件处理更加简洁易用。在本文中,我们将详细介绍FileUtils工具类...