gpt4 book ai didi

Java文件读取和字符串分割问题

转载 作者:行者123 更新时间:2023-11-30 07:36:14 24 4
gpt4 key购买 nike

我的问题是:1. 我应该返回 40 行,但我只返回 20 行。2.最大的问题是我所有行都返回NULL。这是为什么?文件读取有什么问题?

提前致谢!

public class Program{
public static void main(String[] args) throws FileNotFoundException, IOException {

String[] egysor = new String[5];
String line;
FileReader fr = new FileReader("szavazatok.txt");
BufferedReader br = new BufferedReader(fr);
int n=0;
Sor[] sorok = new Sor[100];

while(br.readLine()!=null){
sorok[n] = new Sor();
egysor = br.readLine().split(" ");

sorok[n].setKorzet(egysor[0]);
sorok[n].setSzavazat(Integer.parseInt(egysor[1]));
sorok[n].setVezNev(egysor[2]);
sorok[n].setUtoNev(egysor[3]);
sorok[n].setPart(egysor[4]);
n++;
System.out.println(sorok[n]);
}
System.out.println(n);

还有我的类(class):

public class Sor {
private String korzet, vezNev, utoNev, part;
private int szavazat;`

public String getKorzet() {
return korzet;
}

public void setKorzet(String korzet) {
this.korzet = korzet;
}

public String getVezNev() {
return vezNev;
}

public void setVezNev(String vezNev) {
this.vezNev = vezNev;
}

public String getUtoNev() {
return utoNev;
}

public void setUtoNev(String utoNev) {
this.utoNev = utoNev;
}

public String getPart() {
return part;
}

public void setPart(String part) {
this.part = part;
}

public int getSzavazat() {
return szavazat;
}

public void setSzavazat(int szavazat) {
this.szavazat = szavazat;
}


public Sor(){
this.korzet = korzet;
this.vezNev = vezNev;
this.utoNev = utoNev;
this.part = part;
this.szavazat = szavazat;
}

public String toString(){
return "korzet"+korzet;
}

最佳答案

你的 while 循环吃掉了一半的代码。

while(br.readLine()!=null)

循环测试条件将读取一行。然后你基本上就把这些数据扔掉了。然后在循环中读取下一行并实际处理它。你需要做的就是这个。

String inputLine = br.readLine();
while (inputLine != null){
//...your logic.
inputLine=br.readLine();
}

关于Java文件读取和字符串分割问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35362470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com