147_IO_節點流_位元組流_檔案讀取_寫出_追加檔案
阿新 • • 發佈:2018-11-09
檔案的讀取
- Test01_InputStream.java
package _02.io.byteStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
/**
* 檔案的讀取
* 1.建立聯絡-> File物件(源頭)
* 2.選擇流-> 檔案輸入流 InputStream FileInputStream
* 3.操作 : byte[] car =new byte[1024]; + read + 讀取大小
輸出
* 4.釋放資源 :關閉
*/
public class Test01_InputStream {
public static void main(String[] args) {
//1.建立聯絡 File物件
File src =new File("E:/IOTest/a.txt");
//2.選擇流
InputStream is =null; //提升作用域
try {
is =new FileInputStream(src);
//3.操作 不斷讀取緩衝陣列
byte[] flush =new byte[1024];
int len =0; //接收實際讀取大小
//迴圈讀取
StringBuilder sb =new StringBuilder();
while(-1!=(len=is.read(flush))){
//輸出 位元組陣列轉成字串
String info =new String(flush,0,len);
sb.append(info);
}
System.out.println(sb.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("檔案不存在");
} catch (IOException e) {
e.printStackTrace();
System.out.println("讀取檔案失敗");
}finally{
try {
//4.釋放資源
if (null != is) {
is.close();
}
} catch (Exception e2) {
System.out.println("關閉檔案輸入流失敗");
}
}
}
}
寫出檔案
- Test02_OutputStream.java
package _02.io.byteStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
/**
* 寫出檔案
* 1.建立聯絡->File物件(目的地)
* 2.選擇流->檔案輸出流 OutputStream FileOutputStream
* 3.操作 : write() +flush
* 4.釋放資源 :關閉
*
*/
public class Test02_OutputStream {
public static void main(String[] args) {
//1.建立聯絡->File物件(目的地)
File dest =new File("E:/IOTest/b.txt");
//2.選擇流->檔案輸出流 OutputStream FileOutputStream
OutputStream os =null;
try {
os =new FileOutputStream(dest,true);//append為true以追加形式寫出檔案,否則為覆蓋
//3.操作 : write() +flush
String str="zhushen is very kind men\r\n";
//字串轉位元組陣列
byte[] data =str.getBytes();
os.write(data,0,data.length);
os.flush(); //強制刷新出去
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("檔案未找到");
} catch (IOException e) {
e.printStackTrace();
System.out.println("檔案寫出失敗");
}finally{
//4.釋放資源 :關閉
try {
if (null != os) {
os.close();
}
} catch (Exception e2) {
System.out.println("關閉輸出流失敗");
}
}
}
}