Java IO中幾個主要類介紹和使用
阿新 • • 發佈:2019-02-05
1. I/O流可以有三種分類方法.
第一, 輸入流,輸出流 .
第二, 位元組流,字元流 .
第三, 節點流(真正直接處理資料的) ,處理流(裝飾加工節點流的) .
2. 位元組流
抽象類 <– 面向位元組的檔案流 . InputStream <– FileInputStream OutputStream <– FileOutputStream 常用方法 InputStream int read(byte [] c,int off, int len) OutputStream voidwrite(byte [] c,int off, int len) .
3. 字元流
抽象類 <– 面向字元檔案流 .
Reader <– FileReader
Writer <— FileWriter
常用方法
FileReader int read(char [] c,int off, int len)
FileWriter voidwrite(char [] c,int off, int len) .
4. 節點流和處理流
類
BufferdReader 可以稱作字元、輸入、處理流 .
方法
String readLine()
BufferdReader建構函式接受的是 Reader 型別的引數
4. Java中io類是典型的裝飾者模式
5. 示例
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); } } } }