我有这个代码:
try {
File file = new File(something+counter+".txt");
counter++;
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
我需要这样做:当他们按 Enter 时,将在定义的位置创建新文件(我为此创建了 JTextField),但是当他们再次按 Enter 时,文件将覆盖。那就是问题所在。我需要他们按 Enter 键 - 创建新文件:sample1.txt,再次按 Enter 键,创建新文件:sample2.txt
最佳答案
现在看看你的代码,看起来不错,但你可能在方法中声明了计数器变量。如果是这样,每次调用该方法时,它将“重置”为您设置的值。
编辑:
这应该有效。
import java.io.*;
public class Example {
public static void main(String args[]) {
Example ex = new Example();
ex.writeFile();
ex.writeFile();
}
private void writeFile() {
try {
File file = new File("file" + counter + ".txt");
counter++;
System.out.println("Writing to " + file.toString());
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write("content");
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private int counter = 0;
}
我明白
写入file0.txt
写入file1.txt
作为输出,两个文件中都写入了字符串“content”。
编辑2:
每当用户按下回车键时调用 writefile。
关于java - 创建多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32290519/