Java 流(Stream)、文件(File)和IO
Java.io 包幾乎包含了全部操做輸入、輸出須要的類。全部這些流類表明了輸入源和輸出目標。html
Java.io 包中的流支持不少種格式,好比:基本類型、對象、本地化字符集等等。java
一個流能夠理解爲一個數據的序列。輸入流表示從一個源讀取數據,輸出流表示向一個目標寫數據windows
http://www.runoob.com/java/java-files-io.html緩存
@Test
public void testFileStream() throws Exception {
//1 寫入文件
File file = new File("D:\\test2.txt");
//構建FileOutputStream對象,文件不存在會自動新建
FileOutputStream fileOutputStream = new FileOutputStream(file);
// 構建OutputStreamWriter對象,參數能夠指定編碼,默認爲操做系統默認編碼,windows上是gbk
OutputStreamWriter outputStreamWriter =new OutputStreamWriter(fileOutputStream,"UTF-8");
//寫入緩衝區
outputStreamWriter.write("中文輸入");
//換行
outputStreamWriter.append("\r\n");
outputStreamWriter.append("English");
// 刷新緩存衝,寫入到文件,若是下面已經沒有寫入的內容了,直接close也會寫入
//關閉寫入流
outputStreamWriter.close();
// 關閉輸出流,釋放系統資源
fileOutputStream.close();
//2 從文件中讀取數據
// 構建FileInputStream對象
FileInputStream fileInputStream = new FileInputStream(file);
// 構建InputStreamReader對象,編碼與寫入相同
InputStreamReader inputStreamReader= new InputStreamReader(fileInputStream,"UTF-8");
StringBuffer stringBuffer = new StringBuffer();
while (inputStreamReader.ready()){
// 轉成char加到StringBuffer對象中
stringBuffer.append((char)inputStreamReader.read());
}
System.out.println(stringBuffer.toString());
// 關閉讀取流
inputStreamReader.close();
// 關閉輸入流,釋放系統資源
fileInputStream.close();
}
會在D盤建立 test2.txt文件
控制檯輸出:
// 刪除文件及目錄public static void deleteFolder(File folder) { File[] files = folder.listFiles(); if (files != null) { for (File f : files) { if (f.isDirectory()) { deleteFolder(f); } else { f.delete(); } } } folder.delete();}