java 创建新文件_Java创建新文件[通俗易懂]

java 创建新文件_Java创建新文件[通俗易懂]创建文件是一种非常常见的IO操作,在这一小节中我们将学习如何在java中创建文件的几个方法。在java中创建文件有三种流行的方法,下面将一个一个地来学习。方法一:使用File.createNewFile()方法java.io.File类可用于在Java中创建新文件。当初始化File对象时,需要提供一个文件名,然后调用createNewFile()方法来在Java中创建新文件。如果创建新文件成功,则…

大家好,又见面了,我是你们的朋友全栈君。

创建文件是一种非常常见的IO操作,在这一小节中我们将学习如何在java中创建文件的几个方法。

在java中创建文件有三种流行的方法,下面将一个一个地来学习。

方法一:使用File.createNewFile()方法

java.io.File类可用于在Java中创建新文件。当初始化File对象时,需要提供一个文件名,然后调用createNewFile()方法来在Java中创建新文件。

如果创建新文件成功,则文件createNewFile()方法返回true,如果文件已存在则返回false。当它无法创建文件时,此方法也会抛出java.io.IOException异常。创建的文件为空且零字节。

当通过传递文件名来创建File对象时,它可以是绝对路径,或者只能提供文件名,或者可以提供相对路径。

对于非绝对路径,File对象尝试查找项目根目录中的文件。如果从命令行运行程序,对于非绝对路径,File对象会尝试从当前目录中查找文件。

在创建文件路径时,应该使用System属性file.separator来使程序平台独立。

下面让我们来看看使用java程序创建一个新文件的不同场景。

import java.io.File;

import java.io.IOException;

public class CreateNewFile {

/**

* 该类显示了如何在Java中创建文件

*

* @param args

* @throws IOException

*/

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

String fileSeparator = System.getProperty(“file.separator”);

// 带路径的绝对文件名

String absoluteFilePath = “temp” + fileSeparator + “temp2” + fileSeparator + “file.txt”;

System.out.println(System.getProperty(“user.dir”));

File file = new File(absoluteFilePath);

if (file.createNewFile()) {// 工程目录下要有一个目录:temp/temp2

System.out.println(absoluteFilePath + ” File Created”);

} else

System.out.println(“File ” + absoluteFilePath + ” already exists”);

// 只提供文件名称

file = new File(“file.txt”);

if (file.createNewFile()) {

System.out.println(“file.txt File Created in Project root directory”);

} else

System.out.println(“File file.txt already exists in the project root directory”);

// 相对路径

String relativePath = “tmp” + fileSeparator + “file.txt”;

file = new File(relativePath);

if (file.createNewFile()) {

System.out.println(relativePath + ” File Created in Project root directory”);

} else

System.out.println(“File ” + relativePath + ” already exists in the project root directory”);

}

}

当第一次在Eclipse IDE执行上述程序时,会生成以下输出。

D:\worksp\eclipsej2ee\TestJava

temp\temp2\file.txt File Created

file.txt File Created in Project root directory

Exception in thread “main” java.io.IOException: 系统找不到指定的路径。

at java.io.WinNTFileSystem.createFileExclusively(Native Method)

at java.io.File.createNewFile(Unknown Source)

at CreateNewFile.main(CreateNewFile.java:37)

对于相对路径,它会抛出IOException异常,因为项目根文件夹中不存在tmp目录。所以很明显createNewFile()只是尝试创建文件,任何绝对或相对的目录都应该存在,否则抛出IOException异常。所以需要在项目根目录中创建tmp目录并再次执行程序,输出如下所示 –

D:\worksp\eclipsej2ee\TestJava

File temp\temp2\file.txt already exists

File file.txt already exists in the project root directory

tmp\file.txt File Created in Project root directory

方法二: 使用FileOutputStream.write(byte[] b)方法

如果要创建新文件并同时并写入一些数据,可以使用FileOutputStream方法。下面是一个简单的代码片段,用于演示它的用法。上面讨论的绝对路径和相对路径的规则也适用于这种情况。

String fileData = “Maxsu from Yiibai.com”;

FileOutputStream fos = new FileOutputStream(“readme.txt”);

fos.write(fileData.getBytes());

fos.flush();

fos.close();

方法三: 使用Java NIO Files.write()方法

可以使用Java NIO Files类来创建一个新文件并将一些数据写入其中。这是一个很好的选择,因为它不必担心关闭IO资源。

String fileData = “Maxsu from Yiibai.com”;

Files.write(Paths.get(“readme.txt”), fileData.getBytes());

上面就是在java程序中常用用于创建新文件的全部内容。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150426.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux文件—文件锁

    Linux文件—文件锁通过之前的open()/close()/read()/write()/lseek()函数已经可以实现文件的打开、关闭、读写等基本操作,但是这些基本操作是不够的。对于文件的操作而言,“锁定”操作是对文件(尤其是对共享文件)的一种高级的文件操作。当某进程在更新文件内数据时,期望某种机制能防止多个进程同时更新文件从而导致数据丢失,或者防止文件内容在未更新完毕时被读取并引发后续问题,这种机制就是“文件锁”。

    2022年6月28日
    48
  • SQL数据库查询语句

    SQL数据库查询语句一、Select语句:select语句除了可以查看数据库中的表格和视图的信息外,还可以查看SQLServer的系统信息、复制、创建数据表。其查询功能强大,是SQL语言的灵魂语句,也是SQL中使用频率最高的语句。基本select语句:一个基本的select语句可以分解成三个部分:查找什么数据(select)、从哪里查找(from)、查找的条件是什么(where)。selec

    2022年5月16日
    57
  • 用flash做古诗动画_《古诗三首》Flash动画课件[通俗易懂]

    用flash做古诗动画_《古诗三首》Flash动画课件[通俗易懂]《古诗三首》Flash动画课件古诗词三首牧童[唐]吕岩草铺横野六七里,笛弄①晚风三四声。归来饱饭黄昏后,不脱蓑衣②卧月明。注释①弄:逗弄。②蓑衣:棕或草编的外衣,用来遮风挡雨。………舟过安仁①[宋]杨万里一叶渔船两小童,收篙②停棹③坐船中。怪生④无雨都张伞,不是遮头是使风。注释①安仁:县名。在湖南省东南部,宋时设县。②篙:撑船用的竹竿或木杆。③棹:船桨。④怪生:怪不得。……

    2022年5月5日
    81
  • PHP审计之class_exists与任意实例化漏洞

    PHP审计之class_exists与任意实例化漏洞前言发现PHP的一些漏洞函数挺有意思,跟着七月火师傅的文章来学习.class_exists函数函数说明class_exists:(PHP

    2021年12月13日
    33
  • 超好听的英文名男孩_男生好听小众的英文名

    超好听的英文名男孩_男生好听小众的英文名TroyKentBrandonLandonCordBarneyBlaineVanVictorJulesDylanColeIggy/EgbertJackDoug/DouglasRyderTylerSethNemoDarrenFoleyBennettBrianPhil/PhilipEthanJusticeIvanElliottWilsonJoe/JosephZorbaLiamAdam

    2025年6月15日
    1
  • idea激活码2021.4_通用破解码

    idea激活码2021.4_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号