-6
import java.io.*;

public class createfile{

public static void main(String args[]) throws IOException{

File f=new File("javafile.txt");

if(f.exists())

{

f.createNewFile();

System.out.println("New file \"javafile.txt\"has been created to the current directory");

}

else

System.out.println("The specified file is already exist");

}
}

既存のファイル「javafile.txt」を作成しました。これにテキストを入力しました.javacをコンパイルする場合、次のコードでファイルを再作成する必要があることを願っています

if(f.exists())    
{    
   f.createNewFile();
}

しかし、作成しませんでした..開くと、既存のファイルが開きます。なぜ?

4

2 に答える 2

2

File.createNewFile()まだ存在しない場合、新しいファイルを作成します。

public boolean createNewFile() throws IOException

この名前のファイルがまだ存在しない場合にのみ、この抽象パス名で指定された新しい空のファイルを原子的に作成します。ファイルが存在するかどうかのチェックと、存在しない場合のファイルの作成は、ファイルに影響を与える可能性のある他のすべてのファイルシステム アクティビティに関してアトミックな単一の操作です。

于 2013-09-25T10:06:06.450 に答える
0

From the documentation (emphasis mine):

この名前のファイルがまだ存在しない場合にのみ、この抽象パス名で指定された新しい空のファイルを原子的に作成します。

これはまさに、メソッドが機能するはずの方法です。

于 2013-09-25T10:05:21.767 に答える