java - FileReader,如果文件不存在则创建文件

标签 java json filereader

我正在编写一个方法,该方法应该将新电影添加到我的 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"
      }
   ]
  }

最佳答案

File f = new File("./Database/Movies.json");
if(f.exists() && !f.isDirectory())
    //write your json file

How do I check if a file exists in Java?

关于java - FileReader,如果文件不存在则创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33288035/

相关文章:

java - Java Interposer 中的堆栈粉碎

php - 如何在数据库的php sdk4中存储facebook的GraphObject?

javascript - "SyntaxError: Unexpected token :"在控制台中输入 { "a": "", "b": ""} json

javascript - 如何在通过 XMLHttpRequest 上传文件时获得进度

java - J2ME 的 JSON 解析器

Java 是否有用于指定传递给方法的零值或一个值的语法?

java - 将数据设置为来自一些不同 R.array(XML) 的自定义 ListView 适配器

python - 返回 JSON 浮点值

java - 无法使用 FileReader 找到文件

javascript - 无法使用 FileReader 操作元素