繁体   English   中英

读取 file.txt 并拆分 (:)

[英]Read file.txt and split (:)

我有像这样格式的文件txt

Nama: John
Biologi: 8
Kimia: 9
Fisika: 10

Nama: Peter
Biologi: 10
Kimia: 8
Fisika: 7

Nama: Steve
Biologi: 8
Kimia: 9
Fisika: 6

我尝试使用缓冲区阅读器读取它,但是当我打印出来时它不会显示任何内容,我想获取该值并将其存储到字符串的 arraylist 中,这是我的尝试.....

try{
        File database = new File(file);
        FileReader fileInput = new FileReader(database);
        BufferedReader in = new BufferedReader(fileInput);
        String line = in.readLine();
        String[] data;
        while (line != null){
            data = line.split(":");
            list_Siswa.add(data);
            line = in.readLine();
        }
       String datas = "";
       for (String[] dataSiswa : list_Siswa){//for each to print data into variable
           datas += "\nNama: " + dataSiswa[0] + "\n" +
                   "Kimia: " + dataSiswa[1] + "\n" +
                   "Biologi: " + dataSiswa[2] + "\n" +
                   "Fisika: " + dataSiswa[3] + "\n";
       }
       System.out.println(datas);
        in.close();
    }catch (Exception e){
        System.out.println(e);
   }

java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2 (这是我得到的错误)

我正在尝试将 excat 格式打印为文件

您将每一行添加到变量list_Siswa 因此,例如list_Siswa的第一个元素将是["Nama"," John"] ,因此data_Siswa[0]等于"Nama"并且data_Siswa[1]等于" John" 然后data_Siswa[2]抛出错误,因为数组中没有这样的元素。

代码不够智能,无法看到Nama: John并假设以下几行是应该与 John 相关联的等级。 如果你想这样做,你必须自己做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM