Java文件操作(一)

2014-11-24 02:33:30 · 作者: · 浏览: 0

java对文件的操作,提供了上百个类来操作。

对与我们常用的有,outputstreamwriter、writer、bufferedoutputstream、fileoutputstream以及fileinputstream、reader、inputstreamreader等相关类

先做个比较:对文本文件操作时,我们一般使用filereader、bufferedreader类;而非文件、即二进制文件操作时,我们使用inputstream以及相关类、而对于流的操作,在远程接口rmi,或者通信类的业务处理中,应用较多。

fileoutputstream以及bufferedoutputstream对文件写的操作;当操作大文件时,使用bufferedoutputstream的效率会明显比fileoutputstream高很多。

当然bufferedoutputstream继承自filteroutputstream;所以其功能也相当的丰富。并且在很多应用中我们都用到了filteroutputstream这个类,比如zip,jar包、rmi类和接口、crypto提供加密的类和接口等等

文件操作类中,也还有很多比较有用的类,比如文件流描述类filedescriptor等等;有待挖掘

当有特殊需求是,我们可以继承上面的接口或者扩展上面的类,来实现特殊的业务。

Java代码

package com.xiva.demo;import java.io.bufferedoutputstream;import java.io.bufferedreader;import java.io.bufferedwriter;import java.io.file;import java.io.fileoutputstream;import java.io.filereader;import java.io.filewriter;import java.io.ioexception;import java.io.inputstream;import java.io.outputstream;import java.io.outputstreamwriter;import java.io.reader;import java.io.writer;import java.util.scanner;import org.junit.test;public class filedemo { /** * * @description 删除文件 * @author xiva */ @test public void deletefile(){ file file = new file("src/_tian.jpg"); boolean res = false; if(file.exists()){ res = file.delete(); } if(res){ system.out.println("delete success!"); }else{ system.out.println("delete fail!"); } } /** * * @description 文件重命名 * @author xiva */ @test public void renamefile(){ file file = new file("src/_tian.jpg"); boolean res = false; if(file.exists() && file.isfile()){ res = file.renameto(new file("src/tian.jpg")); } if(res){ system.out.println("copy success!"); }else{ system.out.println("copy fail!"); } } /** * * @description 读取文本文件内容 * @author xiva * @throws ioexception */ @test public void readfile() throws ioexception{ inputstream is = filedemo.class.getclassloader().getresourceasstream("dbcpconfig.properties");// file file = new file("src/content.txt");// filereader freader = new filereader(file); //流编码才是字节编码// reader isreader = new inputstreamreader(is, "utf-8");// bufferedreader buffer = new bufferedreader(isreader);// string linestr;// linestr = buffer.readline();// while(linestr != null){// system.out.println(linestr);// linestr = buffer.readline();// } //scanner类提供更多方便的方法,最为主要的是为文本文件操作提供便利的函数 scanner sc = new scanner(is,"utf-8"); while(sc.hasnextline()){ system.out.println(sc.nextline()); } is.close(); } /** * * @description filewriter写文件 * @author xiva * @throws ioexception */ @test public void writefile() throws ioexception{ file file = new file("src/test.txt"); if(!file.exists()){ file.createnewfile(); } // reader isreader = new filereader(file);// bufferedreader buffer = new bufferedreader(isreader);// string linestr;// linestr = buffer.readline(); scanner sc = new scanner(file,"utf-8"); stringbuffer sbuffer = new stringbuffer(