如何在按钮操作中用int替换字符串?
问题描述:
我在按钮的动作验证码:如何在按钮操作中用int替换字符串?
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
}
如果仍然没有改变任何东西,您可以在循环resp期间添加调试输出。在str
后分配。
将'str = br1.readLine();'改为'str + = br1.readLine()+“”;' –
nope它仍然不起作用 – ezscript
确定,那么您将要创建并发布您的[mcve],一个可编译和运行的小程序,我们可以测试和修改,所以我们可以真正看到什么不工作,为什么。这将为您快速获得正确答案提供最佳机会。 –