CopyUtils执行从read到write的数据拷贝
来源:互联网 发布:网络手游赚钱排行榜 编辑:程序博客网 时间:2024/06/05 13:29
Commons IO提供了org.apache.commons.io.CopyUtils类来将某个InputStream,Reader,byte[]数据或字符串的内容拷贝到OutputStream或Writer.
如果需要把信息从Reader或InputStream拷贝到字符串中,请使用IOUtils.toString()方法.
通过org.apache.commons.io.IOUtils,你可以很好地关闭某个InputStream,OutputStream,Reader或Writer,而不必担心null或IOException.
使用FileUtils.byteCountToDisplaySize()生成一个字符串,该字符串含有有一个近似的比较好理解的文件的相对大小的值.
如果需要将一个文件拷贝为另一个文件,或者需要将某个文件拷贝到某一个目录中,可以使用如下的代码:
拷贝为另一个文件:
拷贝到某一个目录:
使用Commons IO,你也可以很方便把字符串的内容写入文件中去,具体的过程不用怎么理会:
当然,有另外的一个功能,可以将URL的内容存入文件中去:
如果你需要删除一个目录下的所有内容(包括其目录),可以这样做:
如果只想清空目录下所有内容,并不删除该目录,可以这样写:
很简单地,可以得到一个目录的大小:
如果你想得到某个目录下所有以.txt结尾的文件,可以如下这样做:
举另一个例子,怎样列出目录中以.htm和.html结尾的文件
- Writer writer = new FileWriter( "test.dat" );
- InputStream inputStream =
- getClass( ).getResourceAsStream("./test.resource");
- CopyUtils.copy( inputStream, writer );
- writer.close( );
- inputStream.close( );
- Writer writer = new FileWriter( "test.dat" );
- InputStream inputStream =
- getClass( ).getResourceAsStream("./test.resource"); CopyUtils.copy( inputStream, writer );
- writer.close( );
- inputStream.close( );
如果需要把信息从Reader或InputStream拷贝到字符串中,请使用IOUtils.toString()方法.
- InputStream inStream = url.openStream( );
- String contents = IOUtils.toString( inStream );
- InputStream inStream = url.openStream( );
- String contents = IOUtils.toString( inStream );
通过org.apache.commons.io.IOUtils,你可以很好地关闭某个InputStream,OutputStream,Reader或Writer,而不必担心null或IOException.
- try {
- File file = new File( "test.dat" );
- reader = new FileReader( file );
- result = CopyUtils.toString( reader );
- } catch( IOException ioe ) {
- System.out.println("Unable to copy file test.dat to a String." );
- } finally {
- IOUtils.closeQuietly( reader );
- }
- try {
- File file = new File( "test.dat" );
- reader = new FileReader( file );
- result = CopyUtils.toString( reader );
- } catch( IOException ioe ) {
- System.out.println("Unable to copy file test.dat to a String." );
- } finally {
- IOUtils.closeQuietly( reader );
- }
使用FileUtils.byteCountToDisplaySize()生成一个字符串,该字符串含有有一个近似的比较好理解的文件的相对大小的值.
- File file = new File("project.xml");
- long bytes = file.length( );
- String display = FileUtils.byteCountToDisplaySize( bytes );
- File file = new File("project.xml");
- long bytes = file.length( );
- String display = FileUtils.byteCountToDisplaySize( bytes );
如果需要将一个文件拷贝为另一个文件,或者需要将某个文件拷贝到某一个目录中,可以使用如下的代码:
拷贝为另一个文件:
- File src = new File( "test.dat" );
- file dest = new File( "test.dat.bak" );
- FileUtils.copyFile( src, dest );
- File src = new File( "test.dat" );
- file dest = new File( "test.dat.bak" );
- FileUtils.copyFile( src, dest );
拷贝到某一个目录:
- File src = new File( "test.dat" );
- File dir = new File( "./temp" );
- FileUtils.copyFileToDirectory( src, dir );
- File src = new File( "test.dat" );
- File dir = new File( "./temp" );
- FileUtils.copyFileToDirectory( src, dir );
使用Commons IO,你也可以很方便把字符串的内容写入文件中去,具体的过程不用怎么理会:
- String string = "Blah blah blah";
- File dest = new File( "test.tmp" );
- FileUtils.writeStringToFile( dest, string);
- String string = "Blah blah blah";
- File dest = new File( "test.tmp" );
- FileUtils.writeStringToFile( dest, string);
当然,有另外的一个功能,可以将URL的内容存入文件中去:
- URL src = new URL( "http://www.nytimes.com" );
- File dest = new File( "times.html" );
- FileUtils.copyURLToFile( src, dest );
- URL src = new URL( "http://www.nytimes.com" );
- File dest = new File( "times.html" );
- FileUtils.copyURLToFile( src, dest );
如果你需要删除一个目录下的所有内容(包括其目录),可以这样做:
- File dir = new File( "temp" );
- FileUtils.deleteDirectory( dir );
- File dir = new File( "temp" );
- FileUtils.deleteDirectory( dir );
如果只想清空目录下所有内容,并不删除该目录,可以这样写:
- FileUtils.cleanDirectory( dir );
很简单地,可以得到一个目录的大小:
- File dir = new File( "temp" );
- long dirSize = FileUtils.sizeOfDirectory( );
- File dir = new File( "temp" );
- long dirSize = FileUtils.sizeOfDirectory( );
如果你想得到某个目录下所有以.txt结尾的文件,可以如下这样做:
- import java.io.FilenameFilter;
- import org.apache.commons.io.filefilter.SuffixFileFilter;
- import org.apache.commons.lang.ArrayUtils;
- File rootDir = new File(".");
- FilenameFilter fileFilter = new SuffixFileFilter(".txt");
- String[] txtFiles = rootDir.list( fileFilter );
- System.out.println( ArrayUtils.toString( txtFiles ) );
- import java.io.FilenameFilter;
- import org.apache.commons.io.filefilter.SuffixFileFilter;
- import org.apache.commons.lang.ArrayUtils;
- File rootDir = new File(".");
- FilenameFilter fileFilter = new SuffixFileFilter(".txt");
- String[] txtFiles = rootDir.list( fileFilter );
- System.out.println( ArrayUtils.toString( txtFiles ) );
举另一个例子,怎样列出目录中以.htm和.html结尾的文件
- import org.apache.commons.io.filefilter.AndFileFilter;
- import org.apache.commons.io.filefilter.DirectoryFileFilter;
- import org.apache.commons.io.filefilter.IOFileFilter;
- import org.apache.commons.io.filefilter.NotFileFilter;
- import org.apache.commons.io.filefilter.OrFileFilter;
- import org.apache.commons.io.filefilter.SuffixFileFilter;
- import org.apache.commons.lang.ArrayUtils;
- IOFileFilter htmlFilter =
- new OrFileFilter( new SuffixFileFilter("htm"),new SuffixFileFilter("html") ); //复合两个SuffixFileFilter
- IOFileFilter notDirectory = new NotFileFilter( DirectoryFileFilter.INSTANCE ); //拒绝选择目录
- FilenameFilter fileFilter = new AndFileFilter( htmlFilter, notDirectory );
- String[] htmlFiles = rootDir.list(fileFilter);
- System.out.println( ArrayUtils.toString( htmlFiles ));
- import org.apache.commons.io.filefilter.AndFileFilter;
- import org.apache.commons.io.filefilter.DirectoryFileFilter;
- import org.apache.commons.io.filefilter.IOFileFilter;
- import org.apache.commons.io.filefilter.NotFileFilter;
- import org.apache.commons.io.filefilter.OrFileFilter;
- import org.apache.commons.io.filefilter.SuffixFileFilter;
- import org.apache.commons.lang.ArrayUtils;
- IOFileFilter htmlFilter =
- new OrFileFilter( new SuffixFileFilter("htm"),new SuffixFileFilter("html") ); //复合两个SuffixFileFilter
- IOFileFilter notDirectory = new NotFileFilter( DirectoryFileFilter.INSTANCE ); //拒绝选择目录
- FilenameFilter fileFilter = new AndFileFilter( htmlFilter, notDirectory );
- String[] htmlFiles = rootDir.list(fileFilter);
- System.out.println( ArrayUtils.toString( htmlFiles ));
- CopyUtils执行从read到write的数据拷贝
- read()/write()的生命旅程之五——第五章:从bio到media
- 从一个文件中读取到的内容写到另一个文件中(read,write,open)
- 同步拷贝文件read write fcntl
- linux的read,write
- java中用到的几个write和read函数参数
- 使用mmap()和使用 read()write()实现文件拷贝的对比
- 通过CFile::Write和CFile::Read从TXT中读写到CString中去
- symbian CClipboard的使用(拷贝数据到剪贴板及从剪贴板获取数据)
- 经常使用的read & write
- read/write的包裹函数
- java的write和read
- epoll 的accept , read, write
- MFC中剪切板的使用 把数据拷贝到剪切板和从剪切板中读数据
- 确保read和write数据完整
- Read read read, write write write!
- 【excel宏】从sqlserver拷贝数据到excel
- 拷贝CString到Clipboard和从Clipboard得到数据
- hdu 3038 - How Many Answers Are Wrong(并查集)
- Git 使用的简单汇总 .
- ACM 中常用小算法(慢慢更新)
- 电路,报文,分组交换等的比较
- org.apache.cxf.interceptor.Fault:Could not send Message
- CopyUtils执行从read到write的数据拷贝
- 用SHELL 查看spid执行SQL
- he Struts dispatcher cannot be found. This is usually caused by using Struts tags without the assoc
- poj 3450 Corporate Identity (KMP+最长公共子串)
- Machine Learning 书单
- Scrapy-redis分析
- iOS
- start learnning OpenGL
- [转]浅谈架构师的职责