【发布时间】:2016-01-22 03:29:46
【问题描述】:
我正在编写一个方法,假设将新电影添加到我的 JSON 列表中。它必须附加到现有列表(如果有)。如果文件不存在,则创建一个 JSON 文件。
我正在使用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"
}
]
}
【问题讨论】:
-
文件不存在怎么办?你有例外吗?
标签: java json filereader