Java 读卡器读取文件时缺少行

Java 读卡器读取文件时缺少行,java,Java,我的项目中有一个本地JSON文件,名为basic_questions.JSON。我还有一个ParseJSON类来接收这个文件的内容 基本问题.json [ { "correct" : "answer2", "answer1" : "Yıldırım", "answer0" : "Şimşek", "question" : "Halk arasındaki adı Ebemkuşağı olan yağmurdan sonra

我的项目中有一个本地JSON文件,名为basic_questions.JSON。我还有一个ParseJSON类来接收这个文件的内容

基本问题.json

[
    {
        "correct" : "answer2",
        "answer1" : "Yıldırım",
        "answer0" : "Şimşek",
        "question" : "Halk arasındaki adı Ebemkuşağı olan yağmurdan sonra gökyüzünde oluşan kemer biçimindeki renkli görüntüdür?",
        "answer3" : "Hortum",
        "answer2" : "Gökkuşağı"
    },
    {
        "correct" : "answer0",
        "answer1" : "Kardelen",
        "answer0" : "Yediveren",
        "question" : "Yılda birkaç kez meyve veren, çiçek açan bitki hangisidir?",
        "answer3" : "Gelincik",
        "answer2" : "Orkide"
    },
    {
        "correct" : "answer3",
        "answer1" : "Tenis",
        "answer0" : "Hokey",
        "question" : "Çim zemin üzerinde, ufak bir topa özel sopalarla vurularak belli bir deliğe sokma amaçlı oynanan oyuna ne ad verilir?",
        "answer3" : "Golf",
        "answer2" : "Hentbol"
    }
]
ParseJSON.class

try {

    bReader = new BufferedReader(new FileReader(JSON_FILE));

    while (bReader.readLine()!=null) {
        System.out.println(bReader.readLine());
    }

} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (bReader != null) bReader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
输出:

    {
        "answer1" : "Yıldırım",
        "question" : "Halk arasındaki adı Ebemkuşağı olan yağmurdan sonra gökyüzünde oluşan kemer biçimindeki renkli görüntüdür?",
        "answer2" : "Gökkuşağı"
    {
        "answer1" : "Kardelen",
        "question" : "Yılda birkaç kez meyve veren, çiçek açan bitki hangisidir?",
        "answer2" : "Orkide"
    {
        "answer1" : "Tenis",
        "question" : "Çim zemin üzerinde, ufak bir topa özel sopalarla vurularak belli bir deliğe sokma amaçlı oynanan oyuna ne ad verilir?",
        "answer2" : "Hentbol"
]
我不知道内容的缺乏。

您调用了两次
readLine()
,一次用于检查,一次用于实际阅读,因此每第二行都会被丢弃以进行检查

这方面的一个常见模式是

bReader = new BufferedReader(new FileReader(JSON_FILE));
String line;

while ((line = bReader.readLine()) != null) {
    System.out.println(line);
}
您调用了两次
readLine()
,一次用于检查,另一次用于实际读取,因此每两行都会被丢弃以进行检查

这方面的一个常见模式是

bReader = new BufferedReader(new FileReader(JSON_FILE));
String line;

while ((line = bReader.readLine()) != null) {
    System.out.println(line);
}

你把这句话读了两遍:

try {

    bReader = new BufferedReader(new FileReader(JSON_FILE));
    String line = null;
    do{
            line = bReader.readLine()
            System.out.println(line);
    }while (line!=null);

} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (bReader != null) bReader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

你把这句话读了两遍:

try {

    bReader = new BufferedReader(new FileReader(JSON_FILE));
    String line = null;
    do{
            line = bReader.readLine()
            System.out.println(line);
    }while (line!=null);

} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (bReader != null) bReader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

“JSON解析”在哪里?请给出标题,给出问题的有意义的上下文。“JSON解析”在哪里?请给出标题,给出问题的有意义的背景。太棒了!我刚刚认识到我每行取两次。谢谢!令人惊叹的!我刚刚认识到我每行取两次。谢谢!