使用 Java 在 ubuntu 中创建目录时出错



我已经制作了一个方法的测试用例,该方法将在其中调用实际的方法并执行它。

该方法用于创建目录。

以下是我的代码:

实际方法:

public String getDefaultFolderPath() {
String path = "";
        try {
            String os = System.getProperty("os.name");
            System.out.println("Os name Identified");
            if (os.toUpperCase().indexOf("WINDOWS") != -1) {
                File file = new File("C:/MARCDictionary");
                if (!file.exists()) {
                    System.out.println("11");
                    file.mkdir();
                }
                path = "C:/MARCDictionary";
            } else if (os.toUpperCase().indexOf("LINUX") != -1) {
                File file = new File("/usr/MARCDictionary");
                if (!file.exists()) {
                    System.out.println("22");
                    //file.mkdir();
                    file.createNewFile();
                }
                path = "/usr/MARCDictionary";
            } 
         } catch (Exception e) {
            e.printStackTrace();
        }
        return path;
}

测试用例 :

@Test
    public void testGetDefaultFolderPath() {
        System.out.println("getDefaultFolderPath");
        Utilities instance = Utilities.getInstance();
        String expResult = "/usr/MARCDictionary";
        String result = instance.getDefaultFolderPath();
        assertEquals(expResult, result);
    }

给我一个错误:

getDefaultFolderPath
Os name Identified
22
java.io.IOException: Permission denied
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:1006)
    at NGLUtility.NGLUtilities.getDefaultFolderPath(Utilities.java:108)
    at utilities.NGLUtilitiesTest.testGetDefaultFolderPath(UtilitiesTest.java:85)
org.junit.ComparisonFailure: 
Expected :/usr/MARCDictionary

任何建议请为什么这样发生..

我正在使用UbuntuIntellij IDEA.

您的程序对/usr目录没有写入权限。 您必须授予对此文件夹的写入权限,或尝试/usr中具有写入权限的其他文件夹。例如,要授予您可以使用/usr的所有权限chmod 777 /usr

希望这有帮助

相关内容

  • 没有找到相关文章

最新更新