Java文件读写操作(FileInputStream、FileReader、BufferedReader)
2017-10-20 22:32
771 查看
1.字节流和字符流选择
字节流:字节流读取的时候,读到一个字节就返回一个字节; 主要用于读取图片,MP3,AVI视频文件。
字符流:字符流使用了字节流读到一个或多个字节,如读取中文时,就会一次读取2个字节。只要是处理纯文本数据,就要优先考虑使用字符流。
2.处理流和节点流
节点流:和操作系统紧密连接的流。该层的与文件输入输出的操作都比较原始,没有进过优化,功能比较单一。
(FileReader,FileWriter和FileInputStream,FileOutStream都是输入节点流。)
处理流:该层流是对节点流的封装,对节点流中进行优化,加入缓冲器,提供更加丰富的API等。我们一般都使用处理流,在创建处理流对象的时候一般都需要节点流对象作为其构造参数。
(BufferedInPutStream,BufferedOutPutStream和BufferedWriter,BufferedReader)
字节流:字节流读取的时候,读到一个字节就返回一个字节; 主要用于读取图片,MP3,AVI视频文件。
字符流:字符流使用了字节流读到一个或多个字节,如读取中文时,就会一次读取2个字节。只要是处理纯文本数据,就要优先考虑使用字符流。
2.处理流和节点流
节点流:和操作系统紧密连接的流。该层的与文件输入输出的操作都比较原始,没有进过优化,功能比较单一。
(FileReader,FileWriter和FileInputStream,FileOutStream都是输入节点流。)
处理流:该层流是对节点流的封装,对节点流中进行优化,加入缓冲器,提供更加丰富的API等。我们一般都使用处理流,在创建处理流对象的时候一般都需要节点流对象作为其构造参数。
(BufferedInPutStream,BufferedOutPutStream和BufferedWriter,BufferedReader)
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class File_Operater { /* * 按字节(byte)读写 * */ public static void FileInputStream_demo(String src,String dest) throws IOException{ FileInputStream in=new FileInputStream(src); File file=new File(dest); if(!file.exists()) file.createNewFile(); FileOutputStream out=new FileOutputStream(file); // read() 从此输入流中读取一个数据字节。 // read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。 // int c; // while((c=in.read())!=-1){ // out.write(c); // } int c; byte buffer[]=new byte[1024]; while((c=in.read(buffer))!=-1){ for(int i=0;i<c;i++) out.write(buffer[i]); //out.write(buffer,0,c); //0到c的长度 } //不用out.write(buffer),可能存在buffer只用了一半,后一半输出了未知东西 in.close(); out.close(); } /* * 按字符(char)读写 * */ public static void FileReader_demo(String src,String dest) throws IOException{ FileReader in = new FileReader(src); File file = new File(dest); if (!file.exists()) file.createNewFile(); FileWriter out= new FileWriter(file); char[] buffer = new char[3]; int c = 0; while ((c = in.read(buffer)) != -1) { out.write(buffer,0,c); 9e04 } in.close(); out.close(); } /* * 按字符(char)读写,或者字符串(String) * */ public static void BufferedReader_demo(String src,String dest) throws IOException{ File file_in = new File(src); BufferedReader in=new BufferedReader(new FileReader(file_in)); File file_out = new File(dest); if (!file_out.exists()) file_out.createNewFile(); BufferedWriter out=new BufferedWriter(new FileWriter(file_out)); //read() 读取单个字符。 //readLine() 读取一个文本行。 char[] buffer = new char[3]; int c = 0; while ((c = in.read(buffer)) != -1) { out.write(buffer,0,c); } // String read; // while ((read = in.readLine()) != null) { // out.write(read); // } in.close(); out.close(); } public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String src="1.txt"; String out1="2.txt"; String out2="3.txt"; String out3="4.txt"; FileInputStream_demo(src,out1); FileReader_demo(src,out2); BufferedReader_demo(src,out3); } }
相关文章推荐
- java 使用FileInputStream,FileReader,BufferedStream读写记事本文件的例子
- JAVA对字符型文件的读写操作(FileReader、FileWriter)
- Java IO深入理解读写文件(FileInputStream、FileOutputStream、FileReader、FileWriter、RandomAccessFile)
- BufferedReader + FileReader读取文件并打印出来每一行(Java文件操作)
- Java 字符流实现文件读写操作(FileReader-FileWriter)
- Java 字符流实现文件读写操作(FileReader-FileWriter)
- java 字符流实现文件读写操作(FileReader-FileWriter)
- Java文件操作---RandomAccessFile随机读写文件操作
- java中的FileReader 与 BufferedReader类-读入本地文件形成字符串
- JAVA FILE or I/O学习 - I/O流操作:FileInputStream、FileOutputStream、ObjectInputStream、ObjectOutputStream、InputStreamReader、OutputStreamWriter等
- java中OutputStream字节流与字符流InputStreamReader 每一种基本IO流BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWriter,FileInputStream,FileReader,FileWriter,InputStr
- Java IO中的FileReader 和 FileWriter读写文件,和创建多级文件夹
- java中的File文件读写操作
- Java文件字节流和字符流FileInputStream,FileOutputStream,FileReader,FileWriter
- Java笔记--File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别
- [Java] BufferedReader(new FileReader( )) 从文件输入数据
- Java IO操作——简单了解RandomAccessFile随机读写文件操作类的使用
- JAVA 中文件读写函数BufferedReader 和 BufferedWriter 的使用
- 黑马程序员_java初操作使用FileReader及FileWriter进行文件复制
- Java处理文件的方法(FileInputStream、FileReader、File*)