java - 从 Linux 获取 Java 应用程序的正确路径文件

标签 java windows linux filesystems case-sensitive

我有一个java应用程序作为jar,它加密了一些文件,我使用JFileChooser来获取根路径,它工作正常,根路径内的2个目录包含要加密的目录和这些目录内的文件,其中一个或多个目录是月份(例如path/january或path/May)。 JFileChooser仅探索rooh路径目录,月份目录的名称在应用程序的代码中,我有12个月,月份的第一个单词以大写字母开头,但如果我的目录名称为小写,应用程序无法识别路径,它适用于Linux操作系统,在Windows中工作完美。有什么建议吗?

最佳答案

据我所知,您想要的可以用equalsIgnoreCase来完成。这是基于您的代码片段的粗略伪代码。

// ...
final String FEBRERO ="Febrero";
// ...

if(actualDirectorio.isDirectory()){ 
    ficheros = actualDirectorio.listFiles(); 
    for (File file : ficheros) {
        if (file.isDirectory()) {
            // proceed to check if it is one of the month names
            // ..
            if (file.getName().equalsIgnoreCase(FEBRERO)) {
                // process Files in Febrero OR FEBRERO or febrero OR FeBrErO ..
            } else if ..
        }
    }
}

最好将接受目录的条件封装为 FileFilter 中的一个月。可以与 listFiles() 的重载变体一起使用。不包括电池。

关于java - 从 Linux 获取 Java 应用程序的正确路径文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12843111/

相关文章:

java - cloudrail java桌面应用程序

java - 使用流组成函数数组

windows - FindFirstFile/FindNextFile 查找已用 SHFileOperation 删除的文件夹

windows - 为什么使用命令启动的批处理文件启动的程序在通过 Windows 资源管理器运行时无法运行?

linux - 如何在 Linux 中显示以小写字母或大写字母开头的目录?

linux - 什么系列的数字可以用于新驱动程序中添加的新 ioctl

c - 如何将 C 代码转换为汇编的十六进制表示形式?

java - 替代已弃用的 setParameter(String name, Object val, Type type)

java - 带 https 的 jboss eap jax-ws 客户端失败

windows - 有没有办法在 Windows 上更改 Vim 中的键盘布局?