首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 檔案與磁碟操作技術詳解

     編輯:Java 相關知識

1. 取得目錄檔案清單

File dir = new File("C:/Windows/.");
String[] names = dir.list();

2. 開啟/儲存檔案對話框

  • AWT: FileDialog + FilenameFilter
  • Swing: JFileChooser + FileFilter — 功能更強、介面更美觀

3. 中文檔案複製陷阱

FileReader.read() 回傳 int (0-65535,雙位元組);FileWriter.write(int) 寫入雙位元組,高位為空時會被捨棄;FileOutputStream.write(int) 僅寫入單位元組,雙位元組漢字高位直接丟失導致檔案損毀。

建議:永遠使用 InputStream/OutputStream 進行 I/O 操作,避免 Reader/Writer 編碼轉換陷阱。

4. 顯示與儲存拉丁語特殊字元

使用 Unicode:textArea.append("\u00E1") 等。寫入檔案指定 UTF-8:out.write(textArea.getText().getBytes("UTF-8"))。讀取時同樣指定編碼:new String(bytes, "UTF-8")。

5. 檔案資料存取

  • 科學計算首選 DataInputStream/DataOutputStream,提供各類型讀寫方法
  • ObjectInputStream/ObjectOutputStream 可序列化物件,但增加硬碟開銷與頻寬需求

6. 檔案操作基本原則

  1. 避免多次存取磁碟(批次讀寫優於逐位元組)
  2. 避免多次呼叫作業系統
  3. 避免多次呼叫檔案存取方法
  4. 嚴格區分位元組與字元,雙位元組字元處理尤謹慎

7. 取得可用磁碟空間

純 Java 無乾淨方案。通常呼叫作業系統命令:Windows 執行 dir > c:\dir.txt 再解析;Unix/Linux 用 df -k > dir.txt。JConfig 函式庫提供相關方法但使用 JNI。

8. 格式化磁碟

純 Java 無方案。Windows 可建立 FormatDrive.bat 內容 rundll32.exe shell32.dll,SHFormatDrive,再用 Runtime.exec() 執行(請先備份重要資料!)。

9. 列出可用儲存裝置

Unix/Linux 單一根目錄。Windows 多邏輯分區:File.listRoots() 回傳根目錄陣列。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved