流是一個很形象的概念,當程序需要讀取數據時就會開啓一個通向數據源的數據流,這個數據源可以是文件,內存或者是網絡連接。類似的,當程序需要寫入文件時,就會開啓一個通向目的地的流。這裏的數據源和目的地都可以通過File類中構造函數的參數進行賦值。
Java流的分類
package com.czj_IO;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class TestIO {
/**
* 讀文件的方法
* @param fName文件絕對路徑
*/
public void readFile(String fName){
try {
FileInputStream fis = new FileInputStream(fName);
int n=fis.read();//讀取下一個字節
//循環讀寫
while(n!=-1){
System.out.println("讀到的字節是"+n);
n = fis.read();
}
fis.close();//關閉輸入流
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 寫文件的方法
* @param msg寫入的內容
* @param s文件絕對路徑
* @throws Exception拋出異常
*/
public void writeFile(String msg,String s) throws Exception{
try {
FileOutputStream fos = new FileOutputStream(s,false);
byte[] b = msg.getBytes();//得到組成字符串的字節
fos.write(b);
fos.close();//關閉輸出流
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TestIO tjm = new TestIO();
tjm.readFile("E://類與對象總結.txt");
try {//此語句運行兩次必須改寫入文件的文件名或刪除上次寫入的文件,否則報錯(已有該文件)
tjm.writeFile("hello! 你好!~~~~", "E://寫入的文件1.txt");
} catch (Exception e) {
e.printStackTrace();
}
}
}