我在按钮操作中有以下代码:
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
时,""
没有任何文本。为什么?
最佳答案
这段代码
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
}
如果仍然没有改变任何内容,您可以在循环期间添加调试输出。分配str
之后。
关于java - 如何在按钮操作中用 int 替换 string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45870579/