我这里有这个代码来创建一个文件,如果不存在并写入它。它的行为是奇怪的。它创建它一次而不是另一个,无论我在哪个文件夹中创建它。它可能是一个小小的错误,但我无法理解。 有时它会生成文件,但它不可读。
import java.io.*;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
File file = new File("C:\\Users\\lenovo\\Desktop\\testfile.txt");
Scanner fileScanner = null;
try {
fileScanner = new Scanner(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if (!file.isFile()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
PrintWriter pw = null;
try {
pw = new PrintWriter(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
pw.println("hello world\n");
pw.append("how si it going?\n");
pw.append("checkingggg");
pw.close();
// while (fileScanner.hasNext()){
// System.out.println(fileScanner.nextLine());
//}
}
}
答案 0 :(得分:0)
这里没有奇怪的行为。您正在尝试读取不存在的文件。您然后尝试通过各种冗余方式创建它,但已经太晚了。
您的代码没有意义。