2015-12-18 2 views
1

Я пытаюсь прочитать json-файл в проекте MAF Oracle, написанном в JDeveloper 12c. В этом проекте мы имеем две основные папки: ApplicationController и ViewController. Мой класс java находится в папке ApplicationController, и мой ресурс также присутствует в папке public_html. Я попробовал все, что я нашел в Интернете, но ничего, кажется, работает для меня ...Прочтите json-файл из проекта в JDeveloper - проект Oracle MAF

Так класс Java коренится так: \ MyProject \ ApplicationController \ adfmsrc \ приложения \ MyJavaClass.java

JSON файл коренится, как это: \ MyProject \ ApplicationController \ public_html \ JSON \ myJsonFile.json

в моей Java классе я добавил функцию, как в следующем, чтобы прочитать файл из проекта:

public static String loadJSONFromProject(String filename) { 
    String json = ""; 
    try { 
      InputStream is = Utils.class.getResourceAsStream(filename); 
      int size = is.available(); 
      byte[] buffer = new byte[size]; 
      is.read(buffer); 
      is.close(); 
      json = new String(buffer, "UTF-8"); 
    } catch (Exception ex) { 
      ex.printStackTrace(); 
    } 
    return json; 
} 

Как я пытался вызвать метод как это:

Utils.loadJSONFromProject("/json/myJsonFile.json"); 

Utils.loadJSONFromProject("json/myJsonFile.json"); 

Utils.loadJSONFromProject("../json/myJsonFile.json"); 

При запуске проекта, я получаю ошибку

java.lang.NullPointerException на линии: Int размер = доступен();

Это значит, что файл не найден. Класс Utils - это класс java, содержащий метод сверху.

Пожалуйста, помогите мне с этим ...

Спасибо заранее.

ответ

1

мне удалось заставить его работать так:

В папке \ MyProject \ ApplicationController \ adfmsrc я добавил новую папку под названием «JSON», где я добавил свой файл.

Я пошел в проект в JDeveloper, щелкнул правой кнопкой мыши по нему, а затем выбрал «Свойства проекта». Нажмите «Компилятор». В поле, которое имеет метку «Скопировать типы файлов в выходной каталог:», я добавил расширение «.json».

После этого я вызвал функцию выше, например: Utils.loadJSONFromProject ("../ json/myJsonFile.json"); и он работал как шарм.

Спасибо, и я надеюсь, что мой ответ будет полезен и для других.

Смежные вопросы