Я пишу метод, который должен добавить новый фильм в список JSON. Он должен добавляться к существующему списку, если таковой имеется. Или создайте файл JSON, если файл не существует.FileReader, создайте файл, если он не существует
Я использую org.json.simple library
вопрос, который я есть сейчас, если файл не существует, он не будет работать. Как я могу проверить, записываю ли я его первый раз и поэтому управляю им соответствующим образом?
public void insertMovie()
{
Scanner myScanner = new Scanner(System.in);
String movieTitle, movieType, director;
System.out.println("Input the following");
System.out.println("Movie Title: ");
movieTitle = myScanner.next();
System.out.println("Movie type: ");
movieType = myScanner.next();
System.out.println("Director's name: ");
director = myScanner.next();
JSONParser parser=new JSONParser();
try{
Object obj = parser.parse(new FileReader("./Database/Movies.json"));
JSONObject currentObject = (JSONObject) obj;
JSONArray movieArray = (JSONArray) currentObject.get("Movies");
JSONObject newObject = new JSONObject();
newObject.put("title", movieTitle);
newObject.put("type", movieType);
newObject.put("director", director);
movieArray.add(newObject);
FileWriter file = new FileWriter("./Database/Movies.json");
file.write(movieArray.toJSONString());
file.flush();
file.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
catch (ParseException e) {
e.printStackTrace();
}
}
Пример JSON данные:
{
"Movies":[
{
"director":"director1",
"title":"title1",
"type":"type1"
},
{
"director":"director2",
"title":"title2",
"type":"type2"
},
{
"director":"director3",
"title":"title3",
"type":"type3"
},
{
"director":"lol3",
"title":"lol1",
"type":"lol2"
}
]
}
Что происходит, когда файл не существует? Вы получаете исключение? – CurlyCorvus