Java中通過輸入輸出流進行文件的讀寫

流是一個很形象的概念,當程序需要讀取數據時就會開啓一個通向數據源的數據流,這個數據源可以是文件,內存或者是網絡連接。類似的,當程序需要寫入文件時,就會開啓一個通向目的地的流。這裏的數據源和目的地都可以通過File類中構造函數的參數進行賦值。

Java流的分類

按流向分:
輸入流: 程序可以從中讀取數據的流。
輸出流: 程序能向其中寫入數據的流。
按數據傳輸單位分:
字節流: 以字節爲單位傳輸數據的流
字符流: 以字符爲單位傳輸數據的流
按功能分:
節點流: 用於直接操作目標設備的流
過濾流: 是對一個已存在的流的鏈接和封裝,通過對數據進行處理爲程序提供功能強大、靈活的讀寫功能。

 

java.io常用類

JDK所提供的所有流類位於java.io包中,都分別繼承自以下四種抽象流類。
InputStream:繼承自InputStream的流都是用於向程序中輸入數據的,且數據單位都是字節(8位)。
OutputStream:繼承自OutputStream的流都是程序用於向外輸出數據的,且數據單位都是字節(8位)。
Reader:繼承自Reader的流都是用於向程序中輸入數據的,且數據單位都是字符(16位)。
Writer:繼承自Writer的流都是程序用於向外輸出數據的,且數據單位都是字符(16位)。
 此文簡單實現了Java I/O中的對File(文件的處理),File類是獨立於系統平臺的,利用其構造函數創建出相應的File對象;再調用其中的方法實現對文件各個屬性方面的操作。
構造函數:
File( String  path)
File(String path, String FileName)
File(File dir, String name)
File 類提供了一種與機器無關的方式來描述一個文件對象的屬性,通過類File所提供的方法可以得到文件或目錄的描述信息,這主要包括名稱、所在路經、可讀性、可寫性、文件的長度等,還可以生成新的目錄、改變文件名、刪除文件、列出一個目錄中的所有文件的操作。
以下是對文件進行讀出和寫入的簡單實現:
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();
		}
	}

}
 
                                                                                                                                    梣梓cenzi
                                                                                                                                   2015-05-04
 
發佈了54 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章