java i/o 几个主要类的使用 和 介绍

来源:互联网 发布:高邮淘宝美工培训机构 编辑:程序博客网 时间:2024/05/20 09:24
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() 方法.

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