0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

干货:总结Java中创建文件的五种最佳实践方法(附源码)

如意 来源:博客园 作者:佚名 2020-08-28 11:29 次阅读

java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法。

实际上不只这5种,通过管道流的排列组合,其实有更多种,但是笔者总结的这五种可以说是最常用及最佳实践,

前提小知识

以前我在写技术文章涉及到“流关闭”、“连接关闭”的时候,经常有人留言:“还写技术文章,写个流都不知道close()”,这种留言我遇到过无数回!

在本文中大量的使用到了try-with-resources语法,这个语法真的是很久的了,但是的确还有小伙伴不知道(知道的小伙伴就略过吧)。我还是说一下,下文中的管道流不是我没close,是自动关闭close的。

干货:总结Java中创建文件的五种最佳实践方法

1. Java 8 Files.newBufferedWriter

java8 提供的newBufferedWriter可以创建文件,并向文件内写入数据。可以通过追加写模式,向文件内追加内容。

干货:总结Java中创建文件的五种最佳实践方法

2. Java 7 Files.write

下面的这种方式 Files.write ,是笔者推荐的方式,语法简单,而且底层是使用Java NIO实现的。同样提供追加写模式向已经存在的文件种追加数据。这种方式是实现文本文件简单读写最方便快捷的方式。

干货:总结Java中创建文件的五种最佳实践方法

3. PrintWriter

PrintWriter是一个比较古老的文件创建及写入方式,从JDK1.5就已经存在了,比较有特点的是:PrintWriter的println方法,可以实现一行一行的写文件。

干货:总结Java中创建文件的五种最佳实践方法

4. File.createNewFile()

createNewFile()方法的功能相对就比较纯粹,只是创建文件不做文件写入操作。 返回true表示文件成功,返回 false表示文件已经存在。可以配合FileWriter 来完成文件的写操作。

干货:总结Java中创建文件的五种最佳实践方法

5.最原始的管道流方法

最原始的方式就是使用管道流嵌套的方法,但是笔者觉得这种方法历久弥新,使用起来非常灵活。你想去加上Buffer缓冲,你就嵌套一个BufferedWriter,你想去向文件中写java对象你就嵌套一个ObjectOutputStream。但归根结底要用到FileOutputStream。

干货:总结Java中创建文件的五种最佳实践方法


责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2903

    浏览量

    102977
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24392
  • 源代码
    +关注

    关注

    94

    文章

    2923

    浏览量

    66047
收藏 人收藏

    评论

    相关推荐

    Xilinx FPGA入门连载8:Verilog源码文件创建与编辑

    源码文件创建在上一个实例的基础上,如图所示,我们先到工程所在文件创建一个名为“source
    发表于 09-21 11:18

    labview创建文件函数时出现 memory is full 的问题

    `labview创建文件函数时出现 memory is full 的问题,这个问题是不是由于没有加入关闭文件函数引起的呢`
    发表于 12-25 14:12

    请问FATFS创建文件夹时如何添加创建时间?

    如题!通过实现get_fattime函数,创建文件时是可以添加“创建时间”的,但是创建文件夹时却不能,请各位帮忙,谢谢!另外,f_utime添加的是“修改时间”
    发表于 12-13 08:44

    Hive的创建文件数限制的解决方法

    解决Hive创建文件数过多的问题
    发表于 04-29 11:12

    怎么在SD卡里面创建文件

    如何在SD卡里面创建文件啊,不完全手册那个试验说了这个吗
    发表于 09-23 04:05

    树莓派+传感器:创建智能交互项目的实用方法、工具及最佳实践

    树莓派+传感器:创建智能交互项目的实用方法、工具及最佳实践
    发表于 05-01 11:18

    如何使用三方式进行文件创建

    建文件在GUI的桌面环境创建文件是很简单的,例如Windows平台中,大多数情况下只需要点击右键,就可以新建文本文档等各类文件。在终端
    发表于 12-15 08:42

    DFS创建文件失败是为什么

    需要创建文件 static uint8_t Creatdir = 1;//用来表示是否需要创建文件夹 static int fd = 0; int res_sync; int res_write
    发表于 04-12 10:06

    JAVA教程之目录和文件创建、删除和更名

    JAVA教程之 目录和文件创建、删除和更名,很好的JAVA的资料,快来学习吧
    发表于 04-11 17:28 3次下载

    很详细的AD域搭建文件共享服务器方法

    很详细的AD域搭建文件共享服务器方法
    发表于 09-05 09:54 63次下载
    很详细的AD域搭<b class='flag-5'>建文件</b>共享服务器<b class='flag-5'>方法</b>

    dos命令怎么用_DOS下创建文件文件

    DOS命令,计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令、磁盘操作类命令、文件操作类命令和其它命令。本文将详细讲解dos命令怎么用以及DOS下怎么创建文件文件夹。
    发表于 01-17 16:15 5.6w次阅读
    dos命令怎么用_DOS下<b class='flag-5'>创建文件</b>、<b class='flag-5'>文件</b>夹

    如何使用WEBENCH®电源系统创建文档?

    使用WEBENCH®Power Designer创建文
    的头像 发表于 08-20 00:03 1502次阅读

    在Linux中如何创建文件

    使用cat创建文件时,以系统默认的文件属性作为新文件的属性,并接受键盘输入作为文件的内容。输入结束时按Ctrl+d退出并保存文件
    发表于 05-31 09:23 5988次阅读
    在Linux中如何<b class='flag-5'>创建文件</b>

    Kubernetes上Java应用的最佳实践

    在本文中,您将了解在 Kubernetes 上运行 Java 应用程序的最佳实践。大多数这些建议也适用于其他语言。但是,我正在考虑 Java 特性范围内的所有规则,并且还展示了可用于基
    的头像 发表于 03-14 17:47 437次阅读

    python创建文件对象

    2.1. 创建文件对象 **open() 函数用于创建文件对象,基本语法格式如下:** open(文件名[,打开方式]) 注意: 如果只是文件名,代表在当前目录下的
    的头像 发表于 06-21 17:19 1063次阅读
    python<b class='flag-5'>创建文件</b>对象