0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

干貨:總結(jié)Java中創(chuàng)建文件的五種最佳實踐方法(附源碼)

如意 ? 來源:博客園 ? 作者:佚名 ? 2020-08-28 11:29 ? 次閱讀

java中有很多的方法可以創(chuàng)建文件寫文件,你是否真的認真的總結(jié)過?下面筆者就幫大家總結(jié)一下java中創(chuàng)建文件的五種方法。

實際上不只這5種,通過管道流的排列組合,其實有更多種,但是筆者總結(jié)的這五種可以說是最常用及最佳實踐,

前提小知識

以前我在寫技術(shù)文章涉及到“流關(guān)閉”、“連接關(guān)閉”的時候,經(jīng)常有人留言:“還寫技術(shù)文章,寫個流都不知道close()”,這種留言我遇到過無數(shù)回!

在本文中大量的使用到了try-with-resources語法,這個語法真的是很久的了,但是的確還有小伙伴不知道(知道的小伙伴就略過吧)。我還是說一下,下文中的管道流不是我沒close,是自動關(guān)閉close的。

干貨:總結(jié)Java中創(chuàng)建文件的五種最佳實踐方法

1. Java 8 Files.newBufferedWriter

java8 提供的newBufferedWriter可以創(chuàng)建文件,并向文件內(nèi)寫入數(shù)據(jù)??梢酝ㄟ^追加寫模式,向文件內(nèi)追加內(nèi)容。

干貨:總結(jié)Java中創(chuàng)建文件的五種最佳實踐方法

2. Java 7 Files.write

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

干貨:總結(jié)Java中創(chuàng)建文件的五種最佳實踐方法

3. PrintWriter

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

干貨:總結(jié)Java中創(chuàng)建文件的五種最佳實踐方法

4. File.createNewFile()

createNewFile()方法的功能相對就比較純粹,只是創(chuàng)建文件不做文件寫入操作。 返回true表示文件成功,返回 false表示文件已經(jīng)存在??梢耘浜螰ileWriter 來完成文件的寫操作。

干貨:總結(jié)Java中創(chuàng)建文件的五種最佳實踐方法

5.最原始的管道流方法

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

干貨:總結(jié)Java中創(chuàng)建文件的五種最佳實踐方法


責編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2983

    瀏覽量

    106469
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    575

    瀏覽量

    25108
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2949

    瀏覽量

    67540
收藏 0人收藏

    評論

    相關(guān)推薦

    labview創(chuàng)建文件函數(shù)時出現(xiàn) memory is full 的問題

    `labview創(chuàng)建文件函數(shù)時出現(xiàn) memory is full 的問題,這個問題是不是由于沒有加入關(guān)閉文件函數(shù)引起的呢`
    發(fā)表于 12-25 14:12

    請問FATFS創(chuàng)建文件夾時如何添加創(chuàng)建時間?

    如題!通過實現(xiàn)get_fattime函數(shù),創(chuàng)建文件時是可以添加“創(chuàng)建時間”的,但是創(chuàng)建文件夾時卻不能,請各位幫忙,謝謝!另外,f_utime添加的是“修改時間”
    發(fā)表于 12-13 08:44

    Hive的創(chuàng)建文件數(shù)限制的解決方法

    解決Hive創(chuàng)建文件數(shù)過多的問題
    發(fā)表于 04-29 11:12

    樹莓派+傳感器:創(chuàng)建智能交互項目的實用方法、工具及最佳實踐

    樹莓派+傳感器:創(chuàng)建智能交互項目的實用方法、工具及最佳實踐
    發(fā)表于 05-01 11:18

    如何使用三方式進行文件創(chuàng)建

    建文件在GUI的桌面環(huán)境,創(chuàng)建文件是很簡單的,例如Windows平臺中,大多數(shù)情況下只需要點擊右鍵,就可以新建文本文檔等各類文件。在終端
    發(fā)表于 12-15 08:42

    DFS創(chuàng)建文件失敗是為什么

    需要創(chuàng)建文件 static uint8_t Creatdir = 1;//用來表示是否需要創(chuàng)建文件夾 static int fd = 0; int res_sync; int res_write
    發(fā)表于 04-12 10:06

    JAVA教程之目錄和文件創(chuàng)建、刪除和更名

    JAVA教程之 目錄和文件創(chuàng)建、刪除和更名,很好的JAVA的資料,快來學(xué)習吧
    發(fā)表于 04-11 17:28 ?3次下載

    dos命令怎么用_DOS下創(chuàng)建文件、文件

    DOS命令,計算機術(shù)語,是指DOS操作系統(tǒng)的命令,是一面向磁盤的操作命令,主要包括目錄操作類命令、磁盤操作類命令、文件操作類命令和其它命令。本文將詳細講解dos命令怎么用以及DOS下怎么創(chuàng)建文件、
    發(fā)表于 01-17 16:15 ?5.6w次閱讀
    dos命令怎么用_DOS下<b class='flag-5'>創(chuàng)建文件</b>、<b class='flag-5'>文件</b>夾

    java數(shù)組的三定義方式_java數(shù)組的定義及使用方法(推薦)

    java,數(shù)組是一很常用的工具,本文將介紹來java數(shù)組的三定義方式以及
    發(fā)表于 01-29 09:53 ?3.3w次閱讀

    如何使用WEBENCH?電源系統(tǒng)創(chuàng)建文檔?

    使用WEBENCH?Power Designer創(chuàng)建文
    的頭像 發(fā)表于 08-20 00:03 ?1850次閱讀

    10個Java編程異常處理最佳實踐

    這里是我收集的10個Java編程中進行異常處理的10最佳實踐。在Java編程對于檢查異常有褒有貶,強制處理異常是一門語言的功能。在本文中,
    的頭像 發(fā)表于 05-03 17:49 ?2065次閱讀

    在Linux如何創(chuàng)建文件

    使用cat創(chuàng)建文件時,以系統(tǒng)默認的文件屬性作為新文件的屬性,并接受鍵盤輸入作為文件的內(nèi)容。輸入結(jié)束時按Ctrl+d退出并保存文件。
    發(fā)表于 05-31 09:23 ?6526次閱讀
    在Linux<b class='flag-5'>中</b>如何<b class='flag-5'>創(chuàng)建文件</b>

    Thinking In Java練習題源碼

    Thinking In Java 練習題源碼文件分享
    發(fā)表于 09-26 14:23 ?0次下載

    Kubernetes上Java應(yīng)用的最佳實踐

    在本文中,您將了解在 Kubernetes 上運行 Java 應(yīng)用程序的最佳實踐。大多數(shù)這些建議也適用于其他語言。但是,我正在考慮 Java 特性范圍內(nèi)的所有規(guī)則,并且還展示了可用于基
    的頭像 發(fā)表于 03-14 17:47 ?809次閱讀

    python創(chuàng)建文件對象

    2.1. 創(chuàng)建文件對象 **open() 函數(shù)用于創(chuàng)建文件對象,基本語法格式如下:** open(文件名[,打開方式]) 注意: 如果只是文件名,代表在當前目錄下的
    的頭像 發(fā)表于 06-21 17:19 ?1766次閱讀
    python<b class='flag-5'>創(chuàng)建文件</b>對象

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品