簡體   English   中英

在Java文件路徑中使用環境變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM