【问题标题】:Java Simple Json unexpected Token END OF FILEJava 简单 Json 意外令牌 END OF FILE
【发布时间】:2015-10-15 08:36:55
【问题描述】:

我正在我的 PC 上测试一个 servlet,但如果我运行它,我会在第 24 行得到 Unexpected Token end of File,即“Object obj = parser.parse(new FileReader("C:\libs\data.json "));"。

String id = request.getParameter("id");
    JSONParser parser = new JSONParser();

    FileWriter file;
    file = new FileWriter("C:\\libs\\data.json");

    try{

        Object obj = parser.parse(new FileReader("C:\\libs\\data.json"));
        JSONObject jsonObject = (JSONObject) obj;
        String cont = (String) jsonObject.get(id);
        System.out.println(cont);
        int downloads = Integer.parseInt(cont);
        ++downloads;

        jsonObject.put(id, downloads);

        file.write(jsonObject.toJSONString());
    }catch(Exception e){
        e.printStackTrace();
    }finally {
        file.flush();
        file.close();
    }

【问题讨论】:

  • 我怀疑 JSON 是无效的。不幸的是,我们看不到 JSON...

标签: java json servlets


【解决方案1】:

在您为文件创建FileWriter 后,默认情况下,该文件被截断。也就是说,数据被擦除,文件大小为零。

此时在文件上打开FileReader 只是尝试读取一个空文件。因此文件结束。移动 FileWriter 的创建直到您阅读了整个文件并关闭它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多