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

时间:2017-08-24 20:44:36

标签: java string for-loop filereader

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

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按钮时""没有任何文字。为什么呢?

1 个答案:

答案 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

之后