Я сделал тестовый пример одного метода, который вызовет в нем фактический метод и выполнит его.Получение ошибки Создание каталога в Ubuntu с помощью Java
Этот метод используется для создания каталога.
Ниже мой код:
Фактический метод:
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 Case:
@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
Любые предложения, пожалуйста, почему это происходит, как это ..
Я использую Ubuntu
и Intellij IDEA.
Это происходит потому, что 'Permission denied'. –
Как дать разрешение на это? Я смущен тем, кому я должен дать разрешение? Любая помощь sir .. –
вы должны запустить java-программу от имени пользователя, у которого есть разрешение на запись в указанное место. например, root :) – mangusta