创建文件是一种非常常见的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 个群。

java 创建新文件_Java创建新文件相关推荐

  1. java目录实用工具_JAVA 创建文件和文件夹,删除文件和文件夹的实用工具

    package com.file; import java.io.File; import java.io.IOException; //创建新文件和目录 public class CCRDFile ...

  2. java 新建文件_Java创建文件的常用方法

    Java创建文件有几种常用的方法 File.createNewFile()创建空白文件 java.io.File类里的方法createNewFile()可以用来创建文件.createNewFile() ...

  3. java创建文件夹和文件_Java创建文件夹与创建文件

    jik package test.file; //time: 05-12-22 //author: [email]huapingsmith@hotmail.com[/email] //descript ...

  4. java生成txt表格_java读取txt文件表格并生成新txt

    展开全部 可以使用java中的I/O流来读取文件并生产新文件,给你个代码例子:import java.io.BufferedReader; import java.io.File; import ja ...

  5. java 快速合并文件_java 实现切割文件和合并文件的功能

    java 实现切割文件和合并文件的功能 一.切割文件代码如下: 需求:将一个媒体文件切割成多个碎片(每个碎片的大小为1M),并添加配置说明文件 1.创建(指定)一个文件夹,用于保存切割出来的碎片 2. ...

  6. java分隔符读取文件_java – 在读取文件时使用分隔符

    我几乎没有使用分隔符的经验,我需要读取一个文本文件,该文件存储多个对象,其数据以逗号(",")分隔的单行存储.然后使用单独的字符串来创建添加到arraylist的新对象. Amad ...

  7. java视频播放器制作_java创建简易视频播放器

    java创建简易视频播放器 发布时间:2020-09-23 04:28:09 来源:脚本之家 阅读:98 作者:南柯一梦xihe 最近有个多媒体的作业,要求使用visualC++和OpenCV编写一个 ...

  8. JAVA编程TXT文件_java读写txt文件的方法

    java读写txt文件的方法 发布时间:2020-06-26 15:54:02 来源:亿速云 阅读:111 作者:Leah 本篇文章为大家展示了java读写txt文件的方法,代码简明扼要并且容易理解, ...

  9. java中怎么剪切文件_java中实现文件复制、剪切和删除

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

最新文章

  1. c 输出空格_Python编程:案例详解输出函数print
  2. html5做的太阳系
  3. App送审,4.3问题怎样处理
  4. jquery remove() empty()
  5. 备份自己的myeclipse快捷键到需要的环境
  6. 调用shell jenkins不能自动结束
  7. 软件测试mysql面试题及答案_软件测试技术之面试必问的25道数据库测试题
  8. Windows开启网络对时方法
  9. 电力拖动系统课程问题汇总
  10. 多多计算机分屏版本怎么使用,电脑双屏幕怎么设置_电脑分屏怎么设置方法
  11. 学习笔记 --- DM9000网卡原理与基地址设置
  12. 生产者 消费者模式
  13. 基于android的二维码会议签到app管理系统
  14. hdu 4489(排列组合+DP)
  15. 推荐一首歌 《老男孩》
  16. 文献 | 从认知和护理角度谈双相情感障碍
  17. 禅与摩托车维修艺术 摘选
  18. 混淆矩阵 灵敏度 特异度 阳性预测值 阴性预测值 阳性似然比 阴性似然比
  19. 油猴+JS代码创建DEAP网页按钮
  20. 【计算机毕业设计】医院管理系统源码

热门文章

  1. S3 上传大文件 InvalidRange
  2. 关于windows系统影子账户的问题
  3. Ubuntu18.04 + Win10双系统开机后直接进入windows没有切换界面
  4. ps ctrl+shift+alt+t 重复自由变换
  5. 微信小程序实现文字长按复制、一键复制功能
  6. 解决Excel里面另存为TXT后,多了很多引号的问题。
  7. 《天天数学》连载61:三月一日
  8. mobaXterm连接虚拟机后不能拖拽上传文件
  9. 【软件测试】某银行B和某公司C发行联名信用卡
  10. 自己写的一个轻量级javascript框架的设计模式