1. 程式人生 > >java:FileInputStream讀取檔案 FileOutputStream寫出檔案

java:FileInputStream讀取檔案 FileOutputStream寫出檔案

package cn.java.file;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class FIleTestInput {

	
	//讀取檔案FileInputStream
	public static void main(String[] args) throws IOException {
		File file = new File("demo\\a.txt");
		if(!file.exists()){
			file.createNewFile();
		}
		FileInputStream fileInputStream = null;
		try {
			 fileInputStream = new FileInputStream(file);
		} catch (Exception e) {
			e.printStackTrace();
		}
		/*int b,temp = 0;
		while((b = fileInputStream.read())!=-1){
			System.out.print(Integer.toHexString(b)+" ");
		}*/
		
		
		
		//緩衝區讀取檔案
		/**
		 * read(byte[] b,   int off,   int len) 
		 * 引數:
			b - 儲存讀取資料的緩衝區。
			off - 目標陣列 b 中的起始偏移量。
			len - 讀取的最大位元組數。 
		 */
		byte[] a = new byte[8*1024];
		int j = 0;
		String fileContext = "";
		while((j = fileInputStream.read(a, 0, a.length))!=-1){
			fileContext = fileContext + new String(a);
		}
		System.out.println("字元緩衝區讀取:"+fileContext);
		fileInputStream.close();
		
		
	}

}
         位元組寫出檔案之FileOutputStream

package cn.java.file;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;

public class FileTestOut {

	//位元組流寫出輸出檔案
	public static void main(String[] args) throws InterruptedException, IOException {
         //如果檔案不存在,則建立檔案,如果檔案存在,先刪除檔案,再建立檔案       
		FileOutputStream out = new FileOutputStream("demo/out.dat");
		
		//寫入任何型別,都是先轉化為位元組,寫入低8位位元組,呼叫 private native void write(int b, boolean append) throws IOException;
		//呼叫c++實現
        out.write('A');
        
        //字串得出位元組,存放到位元組陣列中。
        byte [] b = "1".getBytes();
        System.out.println(Arrays.toString(b));
        //寫入一個位元組陣列
        out.write(b);
        out.close();
	}

}