文件无法正确读取

File can not read correctly

我试图从 dbpedia 读取 json 文件并解析它。但是我写的代码无法正确读取整个 json 文件,因此出现解析错误。这是我用于读取和解析的代码...

URL url=new URL("http://dbpedia.org/data3/assembly.json");

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String inputLine="asdf";
while (( in.readLine()) != null)
{
    if (inputLine=="asdf")
        inputLine=in.readLine();
    else
        inputLine+=in.readLine();
    //System.out.println(inputLine);
}
System.out.println(inputLine);
Object obj = parser.parse(inputLine);    

JSONObject jsonObject = (JSONObject) obj;

您可以创建一个辅助方法来从 url 中读取文件:

private static String readUrl(String urlString) throws Exception {
        BufferedReader reader = null;
        try {
            URL url = new URL(urlString);
            reader = new BufferedReader(new InputStreamReader(url.openStream()));
            StringBuffer buffer = new StringBuffer();
            int read;
            char[] chars = new char[1024];
            while ((read = reader.read(chars)) != -1) {
                buffer.append(chars, 0, read); 
            }
            return buffer.toString();
        } finally {
            if (reader != null)
                reader.close();
        }
    }

那么你可以这样调用方法

try {
    JSONObject json = new JSONObject(readUrl("http://dbpedia.org/data3/assembly.json"));
    ...

} catch (JSONException e) {
    e.printStackTrace();
}

这取决于你,如果你需要 StringBuffer 或 StringBuilder