利用 org.apache.commons.io.FileUtils快速读写文件
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是apache的一个开源的工具包,封装了IO操作的相关类,使用Commons IO可以很方便的读写文件,url源代码等.
普通地读取一个网页的源代码的代码可能如下
-
InputStream in = new URL( "http://laoyu.info" ).openStream();
-
try {
-
InputStreamReader inR = new InputStreamReader( in );
-
BufferedReader buf = new BufferedReader( inR );
-
String line;
-
while ( ( line = buf.readLine() ) != null ) {
-
System.out.println( line );
-
}
-
} finally {
-
in.close();
-
}
使用了Commons IO,则可以大大简化代码.如下:
-
InputStream in = new URL( "http://laoyu.info" ).openStream();
-
try {
-
System.out.println( IOUtils.toString( in ) );
-
} finally {
-
IOUtils.closeQuietly(in);
-
}
Commons IO里的常用类
FileUtils包含了文件操作的相关方法.
下面的代码用于读取磁盘上的某个文件:
-
File file = new File("c:/test.txt");
-
List lines = FileUtils.readLines(file, "UTF-8");
FileSystemUtils 可以获得指定磁盘路径的可用空间
-
long freeSpace = FileSystemUtils.freeSpace("d:/");
文件复制代码:
-
File src = new File("src.txt");
-
File dest = new File("dest.txt");
-
FileUtils.copyFile(src, dest);
补充:
方便地下载文件到本地
-
InputStream in = 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(new File("c:/test.gif"),gif);
-
IOUtils.closeQuietly(in);
分享 commons io 工具类 代码:http://www.javaeye.com/topic/575996
输入流复制到输出流
- public class IoTest {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- Writer write = new FileWriter("c:\\kk.dat");
- InputStream ins = new FileInputStream(new File("c:\\text.txt"));
- IOUtils.copy(ins, write);
- write.close();
- ins.close();
- }
- }
文本写入指定文件
- public class FileWirterTest {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception{
- // TODO Auto-generated method stub
- String name = "my name is panxiuyan";
- File file = new File("c:\\name.txt");
- FileUtils.writeStringToFile(file, name);
- }
- }
将输入流转换成文本
- public class URLIoTest {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- URL url = new URL("http://www.dimurmill.com");
- InputStream ins = url.openStream();
- String contents = IOUtils.toString(ins,"UTF-8");
- System.out.println( "Slashdot: " + contents );
- }
- }
关闭相关流
- public class IoCloseTest {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- File file = null;
- InputStream ins = null;
- try{
- file = new File("C:\\Test.java");
- ins = new FileInputStream(file);
- }catch(Exception e){
- e.printStackTrace();
- }finally{
- IOUtils.closeQuietly(ins);
- }
- }
- }
文件复制
- public class FileCopyTest {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception{
- // TODO Auto-generated method stub
- File srcfile = new File("c:\\Test.java");
- File destfile = new File("c:\\Test.java.bak");
- FileUtils.copyFile(srcfile, destfile);
- }
- }
文件复制指定的目录
- public class FileCopyTest {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception{
- // TODO Auto-generated method stub
- File srcfile = new File("c:\\Test.java");
- File destDir = new File("D:\\");
- FileUtils.copyFileToDirectory(srcfile, destDir);
- }
- }
网络流保存为文件
- public class URLToFileTest {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception{
- // TODO Auto-generated method stub
- URL url = new URL("http://www.163.com");
- File file = new File("c:\\163.html");
- FileUtils.copyURLToFile(url, file);
- }
- }
文件目录操作
- public class DirOper {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- File dir = new File("c:\\test");
- FileUtils.cleanDirectory(dir);//清空目录下的文件
- FileUtils.deleteDirectory(dir);//删除目录和目录下的文件
- }
- }
目录大小
- long size = FileUtils.sizeOfDirectory(dir);
目录操作
- File testFile = new File( "testFile.txt" );
- //如果不存在,新建
- // 如果存在,修改文件修改时间
- FileUtils.touch( testFile );
记录流的读取写入字节数
- File test = new File( "test.dat" );
- //输出流的统计
- CountingOutputStream countStream = null;
- //输入流的统计
- //CountingInputStream countStream = null;
- try {
- FileOutputStream fos = new FileOutputStream( test );
- countStream = new CountingOutputStream( fos );
- countStream.write( "Hello".getBytes( ) );
- } catch( IOException ioe ) {
- System.out.println( "Error writing bytes to file." );
- } finally {
- IOUtils.closeQuietly( countStream );
- }
- if( countStream != null ) {
- int bytesWritten = countStream.getCount( );
- System.out.println( "Wrote " + bytesWritten + " bytes to test.dat" );
- }
相同的内容写入不同的文本
- File test1 = new File("split1.txt");
- File test2 = new File("split2.txt");
- OutputStream outStream = null;
- try {
- FileOutputStream fos1 = new FileOutputStream( test1 );
- FileOutputStream fos2 = new FileOutputStream( test2 );
- //包含不同的文本
- outStream = new TeeOutputStream( fos1, fos2 );
- outStream.write( "One Two Three, Test".getBytes( ) );
- outStream.flush( );
- } catch( IOException ioe ) {
- System.out.println( "Error writing to split output stream" );
- } finally {
- IOUtils.closeQuietly( outStream );
- }
相关推荐
Apache Commons IO库中的`org.apache.commons.io.FileUtils`类是一个非常实用的工具类,它提供了大量方便、高效的方法,用于处理文件系统操作。这个类在Java开发中被广泛使用,尤其是在处理大量的文件读写和管理任务...
1. 文件操作:`FileUtils` 类提供了大量静态方法,用于文件的创建、删除、复制、移动以及读取属性。例如,`copyFile()` 和 `moveFile()` 方法简化了文件操作,避免了异常处理的复杂性。 2. 目录操作:`...
解决Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils 类似错误,需要导入jar包,下载地址是http://commons.apache.org/proper/commons-io/download_io.cgi
在Java开发中,进行文件操作是必不可少的一部分,Apache Commons IO库提供了一个非常方便的工具类FileUtils,它对Java基础的IO操作进行了封装,使得文件处理更加简洁易用。在本文中,我们将详细介绍FileUtils工具类...
在描述中提到的"org.apache.commons.io.FileUtils"是Apache Commons IO中的一个关键类,它提供了大量静态方法来简化文件操作,如复制、移动、删除、读写文件等。以下是一些FileUtils类中的核心功能: 1. 文件复制:...
1. ` FileUtils `:包含了一系列静态方法,用于执行基本的文件操作,如读取、写入、复制、删除和移动文件。 2. `FileUtils.readFileToString()` 和 `FileUtils.writeStringToFile()`:用于方便地将文件内容转换成...
1. **IOUtils**: IOUtils是Apache Commons IO中的核心类之一,它提供了大量静态方法,用于处理各种输入/输出流。例如,你可以使用IOUtils.copy()方法轻松地将一个输入流的内容复制到一个输出流,或者使用IOUtils....
Apache Commons 是一个由 Apache 软件基金会维护的开源项目,它提供了大量的 Java 类库,这些类库包含了许多实用的功能,极大地丰富了 Java 核心库的功能,为开发者提供了更强大的工具集。在Web开发中,Apache ...
1. **Commons Lang**:这是 Apache Commons 中最常用的包之一,提供了大量的 Java 语言工具类。它包括字符串处理、日期和时间操作、反射、枚举支持、数学运算以及创建单例等实用方法。例如,`StringUtils` 类提供了...
在这个场景中,我们关注的是"commons-fileupload-1.3.jar"和"commons-io-1.2.jar"这两个文件,它们被打包在一个名为"commons-fileupload-1.3.jar和commons-io-1.2.jar.zip"的压缩文件中。 **Apache Commons ...
1. **文件操作**: Commons IO 提供了丰富的文件操作类,如FileUtils,可以进行文件复制、移动、删除等操作,同时支持文件和目录的递归处理。此外,还有FileExistsException、FileExtensionFilter等,帮助处理文件...
1. 文件操作:提供了一系列静态方法来操作文件,如创建、删除、移动、复制和检查文件或目录。例如,`FileUtils.copyFile()` 和 `FileUtils.deleteQuietly()` 方法分别用于文件的复制和安全删除。 2. 流操作:提供了...
首先,`FileUtils`并不是Java标准库的一部分,而是Apache Commons IO库提供的一个实用类。Apache Commons IO是Java中处理输入/输出流的利器,提供了许多便捷的文件操作方法,如读写文件、复制文件、比较文件等。要...
1. 文件和目录操作:Apache Commons IO提供了一系列API用于创建、删除、复制和移动文件及目录。例如,`FileUtils.copyFile()`和`FileUtils.moveFile()`可以方便地实现文件的复制和移动,而`DirectoryWalker`类则用于...
1. 文件操作:Commons IO提供了一系列的静态方法,如`FilesUtils.copyFile()`, `FileUtils.moveFile()`等,使得文件的复制、移动、删除等操作变得简单直观。 2. 流处理:包括读写流、缓冲流、数据流和对象流的处理,...
它与另一个组件Apache Commons IO紧密协作,为Java应用程序提供方便、高效的文件上传功能。 描述中提到"jsp上传组件包含commons-fileupload.jar和commons-io.jar",这意味着在JSP(JavaServer Pages)环境中,为了...
Commons IO 是一个由Apache软件基金会开发的Java库,专注于提供一系列与输入/输出相关的实用工具类。这个"commons-io-1.3"版本是该库的一个早期版本,它包含了核心的IO功能,适用于处理文件、流、字符集、读写操作等...
而`commons-io`库则是一个通用的I/O工具集,它提供了大量的静态方法来处理各种I/O操作,如读写文件、复制文件、比较文件、操作流等。下面是一些核心特性: 1. **文件操作**:包括创建、删除、重命名、移动文件,...
`commons-io-1.3.2.jar`则是Apache Commons IO库的一个较早版本,它提供了许多与I/O操作相关的通用工具类。在处理文件上传时, Commons IO可以帮助完成如读写文件、转换流、检查文件属性等任务。例如: 1. **文件...