繁体   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