如何在按钮操作中用 int 替换字符串?

How to replace string with int in button action?

我在按钮操作中有这段代码:

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.

赋值后