[英]Check from Java if a file exists, from a path containing environment variables
[英]Using environment variables in a Java File Path
我正在編寫一個Java程序,將XLS文件轉換為CSV文件,以便某些Python解析器對其執行操作。
每天在桌面上(我使用Ubuntu btw),我都有一個名為“ DFiles”的文件夾,其中還有一個名為“ 20140705”的文件夾(此文件夾是動態生成的,明天其他程序會刪除此文件夾並創建一個名為20140706)。 在此文件夾中,有一個xls文件,其名稱始終為“ data.xls”。 我已經有將其轉換為CSV的代碼。
所以這是我的問題。 明天我的代碼將在其他人的桌面(也就是Ubuntu)上運行。 所以當給出道路時
input_document = new FileInputStream(new File("/home/local/TNA/srini/Desktop/DFiles/20140705/data.xls"+));
不幸的是,這僅在今天有效,並且僅在我的計算機上有效。
理想情況下,我想做一些事情,例如將路徑設置為“ $ HOME / Desktop / Dfiles / 2 * / data.xls”作為文件路徑。 那么,如何在Java的文件路徑中使用bash env變量和通配符?
您可以使用System.getenv(...)
獲取環境變量的值:
String homeDir = System.getenv("HOME");
String directory = homeDir + "/Desktop/DFiles/...";
通配符:無效。 您可以使用listFiles()
列出特定目錄中的文件和目錄。
File dir = new File(homeDir + "/Desktop/DFiles";
for (File f : dir.listFiles()) {
if (f.isDirectory()) {
System.out.println("Found subdirectory: " + f.getName());
} else {
System.out.println("Found file: " + f.getName());
}
}
您可以編寫一些遞歸進入子目錄的代碼,並選擇名稱以'.xls'結尾的任何文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.