怎麼利用 Java 去取得 windows 系統上的特殊資料夾呢? 在 dot net 平台上,微軟有準備好Environment.SpecialFolder 列舉型別 來給開發者用,而 java 平台上,目前有看到 winfoldersjava 可以使用,目前似乎不支援中文,用法如下:
import java.io.File; import com.catnapgames.winfolders.WinFoldersJava; public class Test { public static void main(String[] args) { System.load(new File("").getAbsolutePath() + "\\WinFoldersJava-1.0.dll"); System.out.println("CSIDL_PERSONAL\t\t" + WinFoldersJava.getSpecialFolderPath(WinFoldersJava.CSIDL_PERSONAL)); System.out.println("CSIDL_LOCAL_APPDATA\t" + WinFoldersJava.getSpecialFolderPath(WinFoldersJava.CSIDL_PERSONAL)); System.out.println("CSIDL_MYPICTURES\t" + WinFoldersJava.getSpecialFolderPath(WinFoldersJava.CSIDL_MYPICTURES)); System.out.println("CSIDL_COMMON_APPDATA\t" + WinFoldersJava.getSpecialFolderPath(WinFoldersJava.CSIDL_COMMON_APPDATA)); System.out.println("CSIDL_COMMON_DOCUMENTS\t" + WinFoldersJava.getSpecialFolderPath(WinFoldersJava.CSIDL_COMMON_DOCUMENTS)); } }
這程式目前對中文似乎不支援。如果只是要取得【我的文件夾】目錄的話,可以直接使用 Swing 的功能取得,中文沒問題:
javax.swing.filechooser.FileSystemView.getFileSystemView().getDefaultDirectory()
沒有留言:
張貼留言