1. 程式人生 > 實用技巧 >Java IO操作 流(Stream)、檔案(File)

Java IO操作 流(Stream)、檔案(File)

1.寫入檔案內容

		  File f = new File("C:/Users/Administrator/eclipse-workspace/test/src/test/cc.txt");
		  // 構建FileOutputStream物件,檔案不存在會自動建立
		  FileOutputStream fop = new FileOutputStream(f);  
		  // 構建OutputStreamWrite 物件,引數可指定編碼方式,預設為作業系統的預設編碼,windows上是gbk
		  OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
		  // 寫入資訊到快取區
		  writer.append("中文輸入");
		  writer.append("\r\n");
		  writer.append("English");
		  // 關閉寫入流,同事把快取區寫入檔案,
		  writer.close();
		  // 關閉輸出流,釋放系統資源
		  fop.close();

2.讀取檔案內容

          // 構建FileInputStream物件
		  FileInputStream fip = new FileInputStream(f);
		  // 構建InputStreamReader物件,編碼與寫入相同
		  InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
		  StringBuffer sb = new StringBuffer();
		  while(reader.ready()) {
			  // 轉成Char加到StringBuffer中
			  sb.append((char)reader.read());
		  }
		  System.out.println(sb.toString());
		  reader.close();
		  fip.close();

3.建立目錄

  1)mkdir() 方法建立資料夾,成功true 失敗 false 失敗表明File物件指定的路徑已經存在,或者由於整個路徑還不存在,該資料夾不能被建立。
  2)mkdirs() 建立一個資料夾和它所有的父資料夾

          String dirnameString = "C:/Users/Administrator/Desktop/測試檔案/演示檔案/test2";
		  File f1 = new File(dirnameString);
		  // boolean dir =  f1.mkdir();
		  boolean dir =  f1.mkdirs();
		  System.out.println("建立資料夾結果:"+ dir); 

4.刪除目錄或者檔案

  1) File 物件並且是一個目錄,那麼呼叫 isDirectory() 方法會返回 true。
  2) list() 獲取它包含的檔案和資料夾的列表。

         //刪除目錄或檔案
		  String dirnameString1 = "C:/Users/Administrator/Desktop/測試檔案/";
		  File f2 = new File(dirnameString1);
		  deleteFolder(f2);



    public static  void deleteFolder(File f) {
		  File files[] = f.listFiles();  // 獲取目錄下的所有列表
		  if(files != null) {
			  for (File file : files) {
					if(file.isDirectory()) {
						deleteFolder(file);
					}else {
						file.delete();
					}
				}
		  }
		f.delete();		  		 
	}