我在按钮操作中有这段代码:
String text = jTextField18.getText();
int x = Integer.parseInt(text);
String text = jTextField18.getText();
int x = Integer.parseInt(text);
try {
FileReader fr1 = new FileReader("Name.txt");
BufferedReader br1 = new BufferedReader(fr1);
String str = null;
for (int i = 1; i <= x; i++) {
str = br1.readLine();
}
br1.close();
jTextField13.setText(str);
但是当我按下jTextField13
按钮时""
没有任何文字。为什么呢?
答案 0 :(得分:0)
此代码
FileReader fr1 = new FileReader("Name.txt");
BufferedReader br1 = new BufferedReader(fr1);
String str = null;
for (int i = 1; i <= x; i++) {
str = br1.readLine();
}
br1.close();
打开文本文件,逐行读取,但只保留最后一行。 如果此行为空,str也将为空。
相反,你可以
要么
String str = "";
for (int i = 1; i <= x; i++) {
str += br1.readLine() + "\n";
}
br1.close();
或仅依赖于流(在Java 8上):
String str = br1.lines().collect(Collectors.joining("\n"));
br1.close();
注意:除此之外,您可以使用try-with-resources:
try (
FileReader fr1 = new FileReader("Name.txt");
BufferedReader br1 = new BufferedReader(fr1)) {
// stuff above
}
如果仍然没有改变任何东西,你可以在循环resp期间添加调试输出。在分配str
。