【发布时间】:2014-02-19 17:42:11
【问题描述】:
您好,这个问题一直困扰着我,因为我在任何地方都徒劳无功地搜索了一个星期。我有这个代码 ......
while ((str = buff.readLine()) != null) {
String[] line = str.split(";");
String part1 = line[0];
String part2 = line[1];
String part3 = line[2];
String part4 = line[3];
String part5 = line[4];
if (c.equals(part3)) {
st = st + part1 + ";" + part2 + ";" + part3 + ";" + part4 + ";" + part5;
System.out.println(part1 + ";" + part2 + ";" + part3 + ";" + part4 + ";" + part5 + "\n");
fich1_tampon.write(st);
fich1_tampon.flush();
fich1_tampon.newLine();
++i;
}
}
System.out.println("F;" + i);
fich1_tampon.close();
buff.close();
}
"System.out.println("F;" + i);"被忽略我不知道为什么。代码很长,但基本上我正在寻找在 c 中具有特定字符串的行,并且我正在将这些行写入另一个文件中。 我的控制台上的结果是这样的:
E;2014/02/19 20:21:06 文件已存在。 N;2000;PU;促销iphone;232425
N;2001;PU;促销戴尔;232426
N;2002;PU;促销三星;23242
线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 2 在 LireFichierDecouper.decouper(LireFichierDecouper.java:70) 在 Main2.main(Main2.java:7) LireFichierDecouper 中的第 70 行是“String part3 = line[2];”
PS:我对java和eclipse非常陌生,如果你想让我发布所有代码以使其更清楚,我会的。
【问题讨论】:
-
如果您可以先更合理地格式化该代码,那将真正有所帮助。如果您正在使用 IDE,请让您的 IDE 执行此操作。它会让你更容易看到发生了什么。如果您可以将其简化为一个简短但完整的程序来演示该问题,那也会有所帮助。我强烈怀疑,当你这样做时,你会发现问题。
-
最好的程序员在编程时使用不一致的缩进。 |=^]
-
你的变量名是 tampon btw
-
你不应该冲洗卫生棉条。我不知道这是不是你的问题。
-
@aetheria 我只是因为那个笑话才为这个问题加注星标。我整天读/听过的最有趣的事
标签: java loops while-loop