java中oi流講解

java中常用的io流有16種:


FileInputStream

FileOutputStream

FileReader

FileWriter


BufferedInputStream

BufferedOutputStream

BufferedReader

BufferedWriter


DataInputStream

DataOutputStream


ObjectInputStream

ObjectOutputStream


PrintWriter

PrintStream



用UML簡單分析一下他們之間的繼承關係:

wKiom1MUoLvioXCDAAJXyBrW9Qs356.jpg




●FileInputStream與FileOutputStream用法:


package io;


import java.io.File;

import java.io.FileInputStream;


public class FileInputStream01 {


/**

* 輸入流FileInputStream

* 將D盤test01.txt,讀到內存

*/

public static void main(String[] args) throws Exception{


File file = new File("D:\\test01.txt");

FileInputStream fis = new FileInputStream(file);

int temp = 0; //讀取的字節數

byte[] bytes = new byte[1024]; //將1024個字節的數據讀入一個 byte 數組中

while((temp=fis.read(bytes))!=-1){

System.out.println(temp);

//將byte數組轉換爲字符串輸出

System.out.print(new String(bytes,0,temp));

}

fis.close();

}


}



package io;


import java.io.FileOutputStream;


public class FileOutputStream01 {


/**

* 輸出流 FileOutputStream

* 將內存中str字符串寫入D盤test02.txt中

*/

public static void main(String[] args) throws Exception{

//設置爲true,不會將原文件內容覆蓋

FileOutputStream fos = new FileOutputStream("D:\\test02.txt",true);

String str = "helloword";

//將String轉換爲byte數組

byte[] bytes = str.getBytes();

fos.write(bytes);

//強制寫入,爲了保證數據的完整性

fos.flush();

fos.close();

}


}


package io;


import java.io.FileInputStream;

import java.io.FileOutputStream;


public class FileCopy {


/**

* 關於文件的複製粘貼

* 將D盤test02.txt,複製粘貼到C盤

*/

public static void main(String[] args) throws Exception{

//創建輸入流

FileInputStream fis = new FileInputStream("D:\\test02.txt");

//創建輸出流

FileOutputStream fos = new FileOutputStream("C:\\test02.txt");

int temp = 0;

byte[] bytes = new byte[1024];

while((temp=fis.read(bytes))!=-1){

fos.write(bytes,0,temp);

}

fos.flush();

fis.close();

fos.close();


}


}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章