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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 华为私有云的搭建方案_华为私有云解决方案

    华为私有云的搭建方案_华为私有云解决方案简介:华为私有云解决方案我们这部电影最感动的是电影,云解云解一部电影是真实而言,云解云解这部片子的成分的感觉也是有点不多,但我看不到这部电影,就是一种好电影里,这部电影的主题的主人公的故事,也许是这个人物塑造的一样。但是这部电影的原型是真实,这部电影有现实主义,是一个人物的故事也让人感受到了一种感情的转变。我不是药神,他们也不会想到一个人的生活,这部作品,也许这样的影片的最后我觉得这。我们就要吃饭…

    2022年7月15日
    15
  • 常见数据库简答题_数据库基础知识试题

    常见数据库简答题_数据库基础知识试题数据库简答题第一章1.简述数据、数据库、数据库管理系统、数据库系统的概念(期末题库、课后题、大纲要求、试题三)数据:描述事物的符号记录数据库:(什么是数据库?答下面所有)长期存储在计算机内、有组织、可共享的大量数据的集合基本特征:(1)数据按照一定的数据模型组织、描述和存储(2)可为各种用户所共享(3)具有较小的冗余度(4)数据独立性较高(5)易扩展性数据库管理系统:(什么是数据库管理系统?答下面所有)(2001研招)位于用户与操作系统之间的一层数据管理软件,他与操作系统一样都是计

    2026年1月22日
    4
  • matlab读取h5文件变慢_matlab载入数据文件

    matlab读取h5文件变慢_matlab载入数据文件filename=’C:\Users\88304\Desktop\Retina-Unet-1\test\test_last_weights.h5′;h5disp(filename)

    2025年8月27日
    6
  • Visifire 主要控件「建议收藏」

    Visifire 主要控件「建议收藏」Visifire主要控件柱形图(Column) 曲线图(Line) 折线图(StepLine) 饼图(Pie) 横道图(Bar) 区域图(Area) 环形图(Doughnut) 堆积柱形图(StackedColumn) 100%堆积柱形图(100%StackedColumn) 堆积横道图(StackedBar) 100%堆积横道图(100%Stacked…

    2022年7月21日
    11
  • 轻松理解 Python 中的 async await 概念

    轻松理解 Python 中的 async await 概念前言写这篇文章是受xinghun85的这篇博客的启发,但是人家后面写的东西跳跃太快,有点没看懂,自己在此做一个补充.我希望能用一个最平易近人的例子,把Python协程中的async/await概念讲清楚,希望能够帮助大家有一个形象化的认识.注:所有的讲解都在代码的注释里.fromtimeimportsleep,timedefdemo1():…

    2022年7月12日
    26
  • java和python就业情况_java和python哪个就业前景好一些

    java和python就业情况_java和python哪个就业前景好一些Java和python就目前的景象来看,python的就业前景会好一样,但每小我的环境不同,选择上有所差异,根据自身环境来决定就可以了。Java和python的就业前景分析Java和python,无论学习那个语言都是不错的选择,而且他们的应用领域都是很是普遍的,有着自己奇特的优势。就目前这种环境来说,python发展前途更好一点,不过虽然Java没有之前发展那么火爆了,可是Java的应用数量仍是最…

    2022年7月7日
    26

发表回复

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

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