Java 创建文件的最简单方法是什么?

Java 创建文件的最简单方法是什么?,java,file,file-io,directory,Java,File,File Io,Directory,这似乎不会创建文件或文件夹。为什么? import java.io.*; public class file1 { public static void main(String[] args) { File text1 = new File("C:/text1.txt"); File dir1 = new File("C:/dir"); } 下面的这个确实创建了一个文件 import java.io.*; public class file3 { public s

这似乎不会创建文件或文件夹。为什么?

import java.io.*;
public class file1
{
  public static void main(String[] args)
  {

    File text1 = new File("C:/text1.txt");
    File dir1 = new File("C:/dir");
}
下面的这个确实创建了一个文件

import java.io.*;
public class file3
{
  public static void main(String[] args)
  {
    try
    {
    FileWriter text1 = new FileWriter("C:/text.txt");
     FileWriter dir = new FileWriter("C:/dir");
}
catch(Exception e){}

    }
}
但是,该目录似乎有一个奇怪的不可用图标

如何创建目录。
创建文件和文件夹的其他简单方法有哪些。

如果要使用
文件创建目录,请执行以下操作:

new File("C:/dir").mkdirs();

令人惊讶的是,
文件
类并不表示文件。它实际上表示文件的路径名。。。这可能存在,也可能不存在

要用Java创建一个文件,您需要打开它进行输出;e、 g

    File text1 = new File("C:/text1.txt");
    FileOutputStream os = new FileOutputStream(text1);  // The file is created 
                                                        // here ... if it doesn't 
                                                        // exist already.
    // then write to the file and close it.
或者您可以这样做-
newfileoutputstream(“C:/text1.txt”)
。在这两种情况下,现有文件都将被截断。。。除非将
FileOutputStream
与一个布尔参数一起使用,该参数表示openforappending

如果要创建文件而不向其中写入任何数据,也可以执行以下操作:

    File text1 = new File("C:/text1.txt");
    text1.createNewFile();
但是,只有当文件不存在时,才会创建新文件

要在Java中创建目录,请使用
File.mkdir()
File.mkdirs()
方法

更新

你评论道:

我尝试了
File dir=new File(“C:/dir1”).mkdir()它表示不兼容的类型

没错。
mkdir()
方法返回一个
boolean
,说明它是否创建了目录。你需要写的是这样的:

    File dir = new File("C:/dir1");
    if (dir.mkdir()) {
        System.out.println("I created it"); 
    }
    try (FileOutputStream os = new FileOutputStream(text1)) {
        // now write to it
    }
在使用您不熟悉的方法或类之前,请务必阅读JAVADOCS


还有几件事你需要知道:

  • 处理确保文件关闭问题的最佳方法是执行以下操作:

        File dir = new File("C:/dir1");
        if (dir.mkdir()) {
            System.out.println("I created it"); 
        }
    
        try (FileOutputStream os = new FileOutputStream(text1)) {
            // now write to it
        }
    
    当块退出时,流
    os
    将自动关闭

  • 捕获
    异常
    通常是“不好的做法”。捕获
    异常
    而在处理程序中什么都不做总是“糟糕的做法”。这种情况隐藏了bug的证据,并使代码不可预测且难以调试


要创建目录,您可以使用:

if(!text1.exists()){
     text1.mkdir();
}
和用于创建文件使用:

if(!text1.exists()){
    try {
        text1.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

谢谢我尝试了File dir=new File(“C:/dir1”).mkdir();它说不兼容的类型。找到布尔值,但应为java.io.File.Is catch(IOException e){System.out.print(“bug”);}好吗?更好。更好的是
catch(IOException e){System.out.print(“意外异常:+e);}
OK。谢谢但是我仍然无法创建目录。啊。谢谢我还尝试了:File dir=new File(“C:/dir1”);dir.mkdir();我试过File dir=new File(“C:/dir1”).mkdir();但是我发现了一个错误。找到了布尔值,但需要java.io.FileTry,正如我写的那样,只需要这一行,而不需要文件dir=part.Thaks。我创建了一个新文件(“C:/dir2”).mkdirs();它创建了目录dir2。为什么文件dir2=新文件(“C:/dir2”).mkdirs();不工作?谢谢。text1.存在于哪里?如何在C:/?此处
text1
是代码`File text1=新文件(“C:/text1.txt”)的变量<代码>
exists()`是文件的方法,请在文档中阅读。像这样理解我有点困难。如果可以的话,请给出try块中的完整代码-2行,4行,随便什么。