创建一个文件是一个非常常见的IO操作,今天我们将研究如何在Java中创建一个文件。
Java 创建文件
There are three popular methods to create file in java. Let's look at them one by one.
- 联合国 QQ File.create NewFile ( ()
_) ‘java.io.File'类可以用来在Java中创建新文件. 当我们初始化文件对象时,我们提供了文件名,然后可以调用"创建新文件 ()"的方法在Java中创建新文件. 文件
创建新文件 ()
如果创建了新文件,则返回true
,如果文件已经存在,则返回假
。 这种方法在无法创建文件时还抛出java.io.IOException. 创建的文件为空并有零字节 。 当我们通过传递文件名来创建文件对象时,它可以使用绝对路径,或者我们只能提供文件名或者提供相对路径. 对于非绝对路径,文件对象试图在工程根目录中查找文件. 如果我们从命令行运行程序,对于非绝对路径,文件对象试图从当前目录中查找文件. 在创建文件路径时,我们应该使用System属性"file.separator"来使我们的程序平台独立. 让我们用简单的java程序来在java中创建新文件。\\ 软件包 com.journaldev.files;
导入java.io.file; 导入java.io.IOExcuseion;
公共类 创建新文件{
/**
- 本类显示如何在 Java 中创建文件 . GetProperty ("file.separator") ; ( _") . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . txt 已经存在于项目根目录中";
//相干路径
字符串相对 Path = "tmp" + fileSeparator+" file.txt";
文件 = 新文件(相对Path);
如果(文件.createNewFile () {
System.out.println (相对Path+"在项目根目录中创建的文件");
= 项目根目录中已经存在文件
;
=(当我们第一次从Eclipse IDE中执行以上程序时,输出出下方输出 .
)/用户/pankaj/file.txt 文件创建
文件.txt 文件创建于工程根目录(_)
) 线条"主"中的例外
java.io.IO Exception: 在java.io.UnixFileSystem.createFileExclusive( Native Method)
在java.io.File.createNewFile(File.java:947)
在com.journaldev.files.CreateNewFile.main.(CreateNewFile.java:32)
在```. 对于相对路径,它抛出IOException,因为"tmp"目录在项目根文件夹中没有存在. 因此很明显,创建新文件()
仅仅尝试创建文件,任何目录,无论是绝对的还是相对的,都应该已经存在,否则它会抛出"IOException". 所以我在工程根中创建了"tmp"目录并再次执行程序,这里是输出. {}
文件 / Users/pankaj/ file.txt 已经存在
文件文件 . txt 已经在工程根目录中存在( _)
) tmp/file.txt (中文(简体) ). 在工程根目录中创建的文件
QQ 前两个文件已经存在, 因此创建新文件 () 返回
假' , 第三个文件在 tmp 目录中创建并返回 ** true** 。 任何后续执行结果都会导致以下输出:
文件/用户/pankaj/file.txt已经存在
文件文件. txt 已经在工程根目录中存在( _)
) 文件 tmp/文件. txt 已经在工程根目录中存在( ) (中文(简体) ). 如果您从终端类目录运行相同的程序,则这里是输出. {}
// 从类输出目录
中第一个执行. pankaj:~/CODE/JavaFiles/bin$ java com/journaldev/files/CreateNewFile
文件/用户/pankaj/file.txt 已经存在
文件.txt 文件在项目根目录中创建()
) 线条"main" java.io.IOExcession: 在 java.io.UnixFileSystem.createFileExclusively( Native Method)
在 java.io.File.create.NewFile(File.java:947)
在 com.journaldev.files.CreateNewFile.main(CreateNewFile.java:32)
/tmp目录不存在,让我们创建它(-
) pankaj:~/CODE/JavaFiles/bours.file/PRPARt. txt 已经在工程根目录中存在( _)
) tmp/file.txt (中文(简体) ). 在工程根目录中创建的文件
// 第三次及随后的执行 pankaj:~/CODE/JavaFiles/bin$ java com/journaldev/files/CreateNewFile 文件/用户/pankaj/file.txt已经存在 文件文件. txt 已经在工程根目录中存在( _) ) 文件 tmp/文件. txt 已经在工程根目录中存在( _) ) ``` 2. QQ FileOutputStream.write(byte[] b ) 如果您想要创建新文件,同时将一些数据写入其中,可以使用 [FileOutputStream] (/community/tutorys/fileOutputstream) 写入方法. 下面是一个简单的代码片段来显示它的用法. 上文讨论的绝对路径和相对路径的规则也适用于本案. ___() ) 字符串文件Data = "Pankaj Kumar"; FileOutputStream fos = 新的FileOutputStream ("name.txt"); fos.write (fileData.getBytes ()); fos.flush (); fos.close ();
- QQ Java NIO 文件. write ()() (英语). 我们可以使用 [Java NIO 文件] (/community/tutorals/java-files-nio-files-class) 类来创建一个新的文件,并将一些数据写入其中. 这是一个很好的选择,因为我们不必担心关闭IO资源.QQ() ) 字符串文件Data = "Pankaj Kumar"; 文件.write(Paths.get ("name.txt"),文件Data.getBytes ()); __
这是为了在Java程序中创建一个新的文件。
您可以从我们的 GitHub 存储库中查找更多的核心 Java 示例。