`
pan_java
  • 浏览: 285614 次
  • 性别: 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 源代码

    Apache Commons IO 是一个Java库,提供了大量的工具类来处理日常的输入/输出操作。这个库包含了许多实用的类,帮助开发者处理文件、流、过滤器、读写操作等各种IO任务。"commons io 源代码"是Apache Commons IO库的...

    apache commons IO 工具包使用

    Apache Commons IO 是 Apache Commons 项目下的一个子项目,主要用于提供一系列针对 Java IO 操作的实用工具类。这些工具类大大简化了文件和流的操作,提高了开发效率,并且提供了比 Java 标准库更加丰富的功能。...

    apache commons IO工具包

    ### Apache Commons IO工具包知识点详解 #### 一、Apache Commons IO概述 Apache Commons IO是Apache Commons项目中的一个子项目,它提供了一系列与IO操作相关的工具类。这些工具类旨在简化和增强Java平台上的文件...

    commons-io-2.11.0-bin.zip

    通过引入"commons-io-2.11.0-bin.zip"到项目中,你可以轻松地利用这些预封装的工具类,减少自己编写低级I/O代码的工作量,从而更专注于业务逻辑。在使用时,只需按照Maven或Gradle的依赖方式将其添加到构建配置中,...

    commons-io-2.6.jar

    总结,Apache Commons IO库通过提供一系列高效且易用的工具类,极大地简化了Java开发中的I/O操作。无论是在处理文件、流、数据转换还是对象序列化方面,它都能显著提高开发效率,降低代码复杂度,是Java开发者不可或...

    commons-io-2.4 包含了所有commons-io的jar包和源码

    Apache Commons IO 是一个Java库,专注于提供各种I/O操作的实用工具类,这些操作包括文件、流、过滤器、读写、转换、检测等。在本案例中,我们讨论的是"commons-io-2.4"版本,这个版本包含了完整的Apache Commons IO...

    源代码分析commons-io-2.0.1-src (二)

    《源代码分析commons-io-2.0.1-src (二)》 Apache Commons IO库是Java开发者常用的工具库,主要用于处理各种输入/输出操作。在本文中,我们将深入探讨其2.0.1版本的源代码,特别是关注其设计模式、核心功能以及实现...

    commons-io-2.3.jar

    此外,Apache Commons IO还提供了许多实用的工具类,如`LineIterator`,用于逐行读取文件,`HexDump`用于十六进制转储,以及`Base64`用于Base64编码和解码等。这些工具类大大增强了对二进制和文本数据的处理能力。 ...

    commons-io-2.7-bin.zip

    - Apache Commons IO 是Apache软件基金会的一个项目,旨在提供一些基础的I/O(输入/输出)工具,弥补Java标准库中的不足。 - 这个库的目的是为Java开发人员提供一套全面、易用的API,用于处理文件、字节流、字符流...

    commons-io-2.11.0.rar

    "commons-io-2.11.0.rar"是Apache Commons IO库的版本2.11.0的压缩包文件,包含了该版本的所有源代码、类库和相关的文档。 Apache Commons IO库的核心特性包括: 1. 文件操作:提供了一系列静态方法来操作文件,如...

    Apache commons-io-2.5.jar

    这个库提供了大量的实用工具类,使得在处理文件、流、过滤器、读写操作时更加方便。"commons-io-2.5.jar"是Apache Commons IO库的一个版本,针对JDK 1.6及更高版本设计。在这个版本中,用户可以找到许多优化和增强的...

    commons-fileupload和commons-io的jar包

    Apache Commons IO库则是对Java标准I/O类库的一个扩展,提供了大量实用的工具方法和类,简化了日常的I/O操作。2.4版本包含了多种增强和优化,如: 1. **文件操作**:提供了创建、复制、移动、删除、比较和监测文件...

    commons-io-1.3

    Commons IO 是一个由Apache软件基金会开发的Java库,专注于提供一系列与输入/输出相关的实用工具类。这个"commons-io-1.3"版本是该库的一个早期版本,它包含了核心的IO功能,适用于处理文件、流、字符集、读写操作等...

    commons-io所有版本(0.1-2.4).zip

    Apache Commons IO 是一个Java库,它提供了一系列实用工具类来处理输入/输出操作。这个压缩包包含从0.1版本到2.4版本的所有Apache Commons IO的发布。这些版本跨越了多个年份,反映了该库在发展过程中的功能增强、...

    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-2.2

    2. **流处理**:该库提供了许多处理输入/输出流的工具类,如`StreamUtils`,可以方便地进行流的复制、关闭和空值检查。此外,`IOUtils`类包含了对字节流和字符流的转换,以及读取和写入整流的功能。 3. **字符集...

    commons-io-2.6.jar下载

    以上只是 `commons-io-2.6.jar` 中部分关键功能的概述,实际使用中,根据具体需求,可以灵活组合这些工具类和方法,以满足各种 I/O 相关的需求。Apache Commons IO 以其强大的功能和良好的兼容性,广泛应用于各种 ...

    commons-io 包

    这个库提供了大量的实用工具类,简化了常见的I/O任务,使开发者能够更高效、更方便地处理文件、字节流、字符流以及各种I/O相关的操作。 在 Commons IO 中,主要包含了以下几个核心模块: 1. **文件操作**:提供了...

    Java IO commons-io-2.5.jar

    总的来说,`commons-io-2.5.jar` 是Java开发者的强大工具,它极大地扩展了Java IO的功能,提高了代码的可读性和维护性。通过这个库,开发者可以更高效地处理文件和目录,减少了重复的代码,提升了工作效率。

    Commons IO-1.4英文API[chm版]

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

Global site tag (gtag.js) - Google Analytics