这是我的课,我做错了。为什么我的文本文档成为文件夹。请说明发生了什么以及如何纠正。谢谢

public class InputOutput {

    public static void main(String[] args) {

        File file = new File("C:/Users/CrypticDev/Desktop/File/Text.txt");
        Scanner input = null;


        if (file.exists()) {
            try {
                PrintWriter pw = new PrintWriter(file);
                pw.println("Some data that we have stored");
                pw.println("Another data that we stored");

                pw.close();
            } catch(FileNotFoundException e) {
                System.out.println("Error " + e.toString());
            }
        } else {
            file.mkdirs();
        }

        try {
            input = new Scanner(file);

            while(input.hasNext()) {
                System.out.println(input.nextLine());
            }
        } catch(FileNotFoundException e) {
            System.out.println("Error " + e.toString());
        } finally {
            if (input != null) {
                input.close();
            }
        }
        System.out.println(file.exists());
        System.out.println(file.length());
        System.out.println(file.canRead());
        System.out.println(file.canWrite());
        System.out.println(file.isFile());
        System.out.println(file.isDirectory());
    }
}


谢谢。上面是我的Java类。

最佳答案

您错误地认为Text.txt不是目录名。

mkdirs()创建目录(以及创建目录所需的所有目录)。您的情况是“ Text.txt”

参见此处:https://docs.oracle.com/javase/7/docs/api/java/io/File.html#mkdirs()

一个目录有一个。在里面。

您可以使用getParentFile()获取要创建的目录,并在其上使用mkdirs()

10-08 09:31