java:FileInputStream讀取檔案 FileOutputStream寫出檔案
阿新 • • 發佈:2019-02-17
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(); } }