Java 在 Ubuntu 14.04 上测试文件夹是否存在

Java testing for folder existance on Ubuntu 14.04

我有一个文件夹:

/home/plattens/workspace/jguids30ma/symbols

我正在尝试测试它是否存在于 Java:

Path objSymbolPath = Paths.get("/home/plattens/workspace/jguids30ma/symbols");
if ( Files.isDirectory(objSymbolPath) != true ) {
    System.out.println("Path is not valid");
}

我已经尝试了各种选择,但到目前为止每个变体都失败了,目录测试失败并且'Path is not valid'。

文件夹存在。

我还在 Ubuntu-14.04 上用你的代码进行了测试,结果是真的。

所以我认为你的文件夹可能有问题。

我想你需要用 "ls -la" 命令检查一下, "d_______r__" 尤其是其他用户的选择..

希望你能发现错误。

我测试了你的代码并编译了。我得到了正确的输出,因此您可以参考此代码并删除不必要的导入包。

package test;

import java.nio.file.Path;
import java.nio.file.Files;
import java.nio.file.Paths;

public class Test {
    public static void main(String[] args) {
        Path objSymbolPath = Paths.get("/home/admin/Desktop/testing");
        if (Files.isDirectory(objSymbolPath) != true) {
            System.out.println("Path is not valid");
        } else {
            System.out.println("Path is valid");
        }
    }
}

希望对你有所帮助

很奇怪,刚刚将代码修改为:

objSymbolPath = Paths.get(arystrAttr[1]);

if ( clsFolderTest.blnExists(Paths.get("/home/")) != true ) {
    System.out.println("doesn't exist!");
}
if ( clsFolderTest.blnExists(Paths.get("/home/plattens/")) != true ) {
    System.out.println("doesn't exist!");
}
if ( clsFolderTest.blnExists(Paths.get("/home/plattens/workspace/")) != true ) {
    System.out.println("doesn't exist!");
}
if ( clsFolderTest.blnExists(Paths.get("/home/plattens/workspace/jguids30ma/")) != true ) {
    System.out.println("doesn't exist!");
}
if ( clsFolderTest.blnExists(Paths.get("/home/plattens/workspace/jguids30ma/symbols/")) != true ) {
    System.out.println("doesn't exist!");
}
if ( clsFolderTest.blnExists(objSymbolPath) != true ) {
    clsMain.errMessage(clsSymbol.class.toString() + ":alstrToSVG"
                      ,"Symbol path does not exists or is not a folder!");
    return null;                                                            
}

所有对文字路径的单独检查都有效,但是最后一个测试仍然失败,最后证明参数 'arystrAttr' 实际上在路径周围有引号。