1. 字节流 抽象类 InputStream<-- FileInputStream OutputStream <-- FileOutputStream 面向字节的文件流 .
2 常用方法 InputStream int read(byte [] c,int off, int len) OutputStream voidwrite(byte [] c,int off, int len) .
3. I/O流可以有三种分类方法. 第一, 输入流,输出流 . 第二 ,字节流,字符流 . 第三 , 节点流(真正直接处理数据的) ,处理流(装饰加工节点流的) .
4. 字符流 抽象类 Reader<--FileReader Writer<---FileWriter 面向字符文件流 .
5 常用方法 FileReader int read(char [] c,int off, int len) FileWriter voidwrite(char [] c,int off, int len) .
6 处理流使用实例
7 装饰者模式
8. 节点流和处理流
(BufferdReader)可以称作字符、输入、处理流 . String readLine() 方法.
2 常用方法 InputStream int read(byte [] c,int off, int len) OutputStream voidwrite(byte [] c,int off, int len) .
3. I/O流可以有三种分类方法. 第一, 输入流,输出流 . 第二 ,字节流,字符流 . 第三 , 节点流(真正直接处理数据的) ,处理流(装饰加工节点流的) .
4. 字符流 抽象类 Reader<--FileReader Writer<---FileWriter 面向字符文件流 .
5 常用方法 FileReader int read(char [] c,int off, int len) FileWriter voidwrite(char [] c,int off, int len) .
6 处理流使用实例
7 装饰者模式
8. 节点流和处理流
(BufferdReader)可以称作字符、输入、处理流 . String readLine() 方法.
BufferdReader构造函数接受的是Reader类型的参数
import java.io.*;
public class Filerw{
public static void main (String args[]){
Filerw filerw=new Filerw();
//filerw.readAndWrite();
filerw.bufferReader();
}
/**
* 1.使用输入输出流操作文件
*/
public void readAndWriteStream(){
FileInputStream inStream=null;
FileOutputStream outStream=null;
try{
//生成一个输入流的对象
inStream=new FileInputStream("e:/javapro/FileDemo/from.txt");
//生成一个输入流的对象
outStream=new FileOutputStream("e:/javapro/FileDemo/to.txt");
byte[] buffer=new byte[1024];
int len=0;
//读取文件
len=inStream.read(buffer,0,buffer.length);
for(int i=0; i<len; i++){
System.out.print(buffer[i]);
}
//写入到文件
outStream.write(buffer,0,len);
}catch (Exception e){
System.out.print(e);
}finally{
try{
inStream.close();
outStream.close();
}catch (Exception e){
System.out.print(e);
}
}
}
/**
* 2.使用字节流操作文件
*/
public void readAndWrite(){
FileReader reader=null;
FileWriter writer=null;
try{
//生成一个字符输入流的对象
reader=new FileReader("e:/javapro/FileDemo/from.txt");
//生成一个字符输入流的对象
writer=new FileWriter("e:/javapro/FileDemo/to.txt");
char[] buffer=new char[1024];
int len=0;
//读取文件
len=reader.read(buffer,0,buffer.length);
for(int i=0; i<len; i++){
System.out.print(buffer[i]);
}
//写入到文件
writer.write(buffer,0,len);
}catch (Exception e){
System.out.print(e);
}finally{
try{
reader.close();
writer.close();
}catch (Exception e){
System.out.print(e);
}
}
}
/**
* 3.使用节点流和处理流操作文件
*/
public void bufferReader(){
FileReader reader=null;
BufferedReader bufferedReader=null;
try{
reader=new FileReader("e:/javapro/FileDemo/fromlinetext.txt");
bufferedReader=new BufferedReader(reader);
String line=null;
while((line=bufferedReader.readLine())!=null){
//line=bufferedReader.readLine();
System.out.println(line);
}
}catch (Exception e){
System.out.print(e);
}finally{
try{
reader.close();
bufferedReader.close();
}catch (Exception e){
System.out.print(e);
}
}
}
}