在java中创建文件的奇怪行为

时间:2018-02-16 08:50:57

标签: java file-handling

我这里有这个代码来创建一个文件,如果不存在并写入它。它的行为是奇怪的。它创建它一次而不是另一个,无论我在哪个文件夹中创建它。它可能是一个小小的错误,但我无法理解。 有时它会生成文件,但它不可读。

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());
        //}

    }
}

1 个答案:

答案 0 :(得分:0)

这里没有奇怪的行为。您正在尝试读取不存在的文件。您然后尝试通过各种冗余方式创建它,但已经太晚了。

您的代码没有意义。