`
pan_java
  • 浏览: 280654 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

分享 commons io 工具类 代码

阅读更多
commons io

输入流复制到输出流

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 );

}
分享到:
评论
8 楼 kongzhizhen 2011-01-05  
zhangyou1010 写道
把一些循环读和写流封装而已。


工具类,偶理解的工具类就是封装一些常用的操作。没什么不妥。
7 楼 chenhongwei0924 2010-12-08  

自己积累几个工具类,不经意..发觉Common 包里面都已经有了......
6 楼 zhangyou1010 2010-01-22  
把一些循环读和写流封装而已。
5 楼 aoliwen521 2010-01-22  
请问这个包是jfc的吗?还是要引入其他的包?
4 楼 odd2008 2010-01-22  
请问楼主,最后一段代码,
IOUtils.closeQuietly( outStream );  
只关闭输出流,不关闭输入流吗?
3 楼 gongmingwind 2010-01-22  
确实不错,最近也在学commons ,有机会大家多交流啊
2 楼 毕竟红尘 2010-01-22  
不错啊
我已经将整个Apache Common包里面提供的工具,当作项目的基础组件了。
自己积累下来的许多工具组件,在后来发觉Common 包里面都已经有了......
1 楼 zhzhy86 2010-01-22  
不错,学习了

相关推荐

    commons-io-2.0.1大全

    Commons IO是apache的一个开源的工具包,封装了IO操作的相关类,包含了最新的commons-io-2.0.1-bin,commons-io-2.0.1-src,commons-io-2.0.1-doc

    Commons IO-1.4英文API[chm版]

    文件处理的相关工具类Commons IO-1.4英文API[chm版]

    commons-io-2.4.jar 包 (工具类包)

    fileupload组件依赖的commons-io组件

    commons-io-2.6.zip

    commons-io 是 Apache 开源基金组织提供的一组有关 IO 操作的类库,可以挺提高 IO 功能开发的效率。commons-io 工具包提供了很多有关 IO 操作的类

    commons-io-2.4

    commons-io-2.4工具类下载,一个io工具类,你们都会懂的 commons,commons-io,apache,包含源码,class文件还有API

    commons-io-1.4

    Commons IO是针对开发IO流功能的工具类库,包含工具类、endian classes, line iterator, file filters, file comparators and stream implementations等。

    commons-io.zip

    IO流常用工具类Commons-IO架包

    commons-io2.2包括jar包源码

    commons-io2.2jar包和源码以及javadoc,还有示例代码。commons-io有很多io操作工具类,简化了很多开发中的代码,减少工作量。

    commons-io-2.4 源码

    commons-io-2.4供大家学习,官网只有最新版。是一款处理io流的工具,封装了很多处理io流和文件的方法,...从common-io的官方使用文档可以看出,它主要分为工具类、尾端类、行迭代器、文件过滤器、文件比较器和扩展流。

    commons-io-2.6-src.zip

    commons-io-2.5.jar,封装了对文件处理的相关工具类,配合commons-fileupload.jar使用

    commons-io-2.4.jar

    FileUtils工具类的jar包,用于IO流中。本资源可在sun公司直接下载。

    commons-io-2.8-binaries.zip

    Commons-IO 包括 工具类 (utility classes), 字节序列类 (endian classes), 行迭代器 (line iterator), 文件过滤器 (file filters),文件比较器 (file comparators) 和 流实现 (stream implementations).

    java的IO流的工具包:作用:复制单个文件(文件对文件)/ 复制目录或文件(多个文件)

    - 要使用commons-io工具包,就需要先从第三方下载该工具包 - 在当前项目工程下,导入commons-io工具包(借鉴之前使用过的logback) 导commons-io包步骤: 1. 在idea的项目工程下,创建目录:lib 2. 把commons-io...

    commons-io-2.2-bin.zip

    commons-io是一款初六io流的工具,封装了很多处理io流和文件的方法,可以大大简化我们处理io流和操作文件的代码.commons-io主要分为,工具类,尾端类,迭代器,文件过滤器等.

    commons-io-2.8-source.zip

    Commons-IO 包括 工具类 (utility classes), 字节序列类 (endian classes), 行迭代器 (line iterator), 文件过滤器 (file filters),文件比较器 (file comparators) 和 流实现 (stream implementations).

    commons-io

    项目开发中经常使用的工具包commons-io,收藏、分享!

    Java连接数据库的工具类

    本资源是java开发的常用工具类,包括01.DTD约束文档,02.Schema约束文档,c3p0,commons-dbutils-1.6,commons-io-2.4,commons-pool-1.5.6,mysql-connector-java-5.1.37

    Apache提供的commons_io组件

    工具类FileUtils操作文件的工具类 static String readFileToString(File file):读取文件内容,并返回一个String; static void writeStringToFile(File file, String data):将内容content写入到file中; ...

    apache-commons源码及jar文件

    Commons-Lang 提供了许多许多通用的工具类集,提供了一些java.lang中类的扩展功能 Latka Commons-Latka 是一个HTTP 功能测试包,用于自动化的QA,验收和衰减测试. Launcher Launcher 组件是一个交叉平台的Java 应用...

    commons-fileupload-1.3.3-bin.tar.gz

    apach提供的文件上传工具类,需要结合commons-io包进行使用

Global site tag (gtag.js) - Google Analytics