在java中有很多的方法可以創(chuàng)建文件寫(xiě)文件,你是否真的認(rèn)真的總結(jié)過(guò)?下面筆者就幫大家總結(jié)一下java中創(chuàng)建文件的五種方法。
實(shí)際上不只這5種,通過(guò)管道流的排列組合,其實(shí)有更多種,但是筆者總結(jié)的這五種可以說(shuō)是最常用及最佳實(shí)踐,
前提小知識(shí)
以前我在寫(xiě)技術(shù)文章涉及到“流關(guān)閉”、“連接關(guān)閉”的時(shí)候,經(jīng)常有人留言:“還寫(xiě)技術(shù)文章,寫(xiě)個(gè)流都不知道close()”,這種留言我遇到過(guò)無(wú)數(shù)回!
在本文中大量的使用到了try-with-resources語(yǔ)法,這個(gè)語(yǔ)法真的是很久的了,但是的確還有小伙伴不知道(知道的小伙伴就略過(guò)吧)。我還是說(shuō)一下,下文中的管道流不是我沒(méi)close,是自動(dòng)關(guān)閉close的。

1. Java 8 Files.newBufferedWriter
java8 提供的newBufferedWriter可以創(chuàng)建文件,并向文件內(nèi)寫(xiě)入數(shù)據(jù)。可以通過(guò)追加寫(xiě)模式,向文件內(nèi)追加內(nèi)容。

2. Java 7 Files.write
下面的這種方式 Files.write ,是筆者推薦的方式,語(yǔ)法簡(jiǎn)單,而且底層是使用Java NIO實(shí)現(xiàn)的。同樣提供追加寫(xiě)模式向已經(jīng)存在的文件種追加數(shù)據(jù)。這種方式是實(shí)現(xiàn)文本文件簡(jiǎn)單讀寫(xiě)最方便快捷的方式。

3. PrintWriter
PrintWriter是一個(gè)比較古老的文件創(chuàng)建及寫(xiě)入方式,從JDK1.5就已經(jīng)存在了,比較有特點(diǎn)的是:PrintWriter的println方法,可以實(shí)現(xiàn)一行一行的寫(xiě)文件。

4. File.createNewFile()
createNewFile()方法的功能相對(duì)就比較純粹,只是創(chuàng)建文件不做文件寫(xiě)入操作。 返回true表示文件成功,返回 false表示文件已經(jīng)存在。可以配合FileWriter 來(lái)完成文件的寫(xiě)操作。

5.最原始的管道流方法
最原始的方式就是使用管道流嵌套的方法,但是筆者覺(jué)得這種方法歷久彌新,使用起來(lái)非常靈活。你想去加上Buffer緩沖,你就嵌套一個(gè)BufferedWriter,你想去向文件中寫(xiě)java對(duì)象你就嵌套一個(gè)ObjectOutputStream。但歸根結(jié)底要用到FileOutputStream。

責(zé)編AJX
-
JAVA
+關(guān)注
關(guān)注
20文章
3001瀏覽量
116419 -
文件
+關(guān)注
關(guān)注
1文章
594瀏覽量
26054 -
源代碼
+關(guān)注
關(guān)注
96文章
2953瀏覽量
70299
發(fā)布評(píng)論請(qǐng)先 登錄
labview中在創(chuàng)建文件函數(shù)時(shí)出現(xiàn) memory is full 的問(wèn)題
請(qǐng)問(wèn)FATFS創(chuàng)建文件夾時(shí)如何添加創(chuàng)建時(shí)間?
樹(shù)莓派+傳感器:創(chuàng)建智能交互項(xiàng)目的實(shí)用方法、工具及最佳實(shí)踐
如何使用三種方式進(jìn)行文件的創(chuàng)建
DFS創(chuàng)建文件失敗是為什么
JAVA教程之目錄和文件的創(chuàng)建、刪除和更名
dos命令怎么用_DOS下創(chuàng)建文件、文件夾
java中數(shù)組的三種定義方式_java中數(shù)組的定義及使用方法(推薦)
如何使用WEBENCH?電源系統(tǒng)創(chuàng)建文檔?
10個(gè)Java編程中異常處理最佳實(shí)踐
在Linux中如何創(chuàng)建文件
Java中創(chuàng)建對(duì)象有哪些方式
Kubernetes上Java應(yīng)用的最佳實(shí)踐
python創(chuàng)建文件對(duì)象
干貨:總結(jié)Java中創(chuàng)建文件的五種最佳實(shí)踐方法(附源碼)
評(píng)論