Java連載97-FileOutputStream詳解以及文件複製

来源:https://www.cnblogs.com/ruigege0000/archive/2020/03/15/12495390.html
-Advertisement-
Play Games

一、FileOutputStream詳解 1.該類的構造方法,有第二個參數 FileOutputStream(String address,boolean append) append預設false,也就是新的寫入會覆蓋原來的東西。改為true的話,也就是以追加的形式寫入文件 package com ...


一、FileOutputStream詳解

1.該類的構造方法,有第二個參數

FileOutputStream(String address,boolean append)

append預設false,也就是新的寫入會覆蓋原來的東西。改為true的話,也就是以追加的形式寫入文件

 

package com.bjpowernode.java_learning;

import java.io.*;

public class D97_1_FileOutputStream {

  public static void main(String[] args){

    //1.創建文件輸出字元流

    FileOutputStream f1 = null;

    try {

      

      f1 = new FileOutputStream("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt");

     

      //參數中的文件如果不存在的話,就會自動創建

      //2.開始寫

      //推薦最後的時候為了保證數據完全寫入硬碟,所以要刷新

      String msg = "HelloWorld";

      f1.flush();//強制寫入

      //將String轉換成byte數組

      byte[] bytes = msg.getBytes();

      f1.write(bytes);

      //如果帶參數,即write(Object o,int a,int b)代表對象o的第a個字元到第b個字元寫入文件

     

    }catch(Exception e1) {

      e1.printStackTrace();

    }finally{

      //關閉

      if(f1 != null) {

        try {

          f1.close();

        }catch(Exception e) {

          e.printStackTrace();

        }

      }

    }

  }

}

​二、文件的複製

 

package com.bjpowernode.java_learning;

import java.io.*;

public class D97_2_CompleteCopyFile {

  public static void main(String[] args) throws IOException,FileNotFoundException{

    //創建輸入流

    FileInputStream f1 = new FileInputStream("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt");

    //創建輸出流

    FileOutputStream f2 = new FileOutputStream("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp2.txt");

    //一邊讀一邊寫

    byte[] bytes = new byte[1024];//1kb;

    int temp = 0;

    while((temp=f1.read(bytes)) != -1){

      //將byte數組中的內容直接寫入

      f2.write(bytes);

    }

    //刷新

    f2.flush();

    //關閉

    f1.close();

    f2.close();       

  }

}

 

三、源碼:

D97_1_FileOutputStream.java

D97_2_CompleteCopyFile.java

https://github.com/ruigege66/Java/blob/master/D97_1_FileOutputStream.java

https://github.com/ruigege66/Java/blob/master/D97_2_CompleteCopyFile.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客園:https://www.cnblogs.com/ruigege0000/

4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 記錄大話設計學習過程。 “工廠模式”和“簡單工廠模式”的區別就是把“到底實例哪一個對象的判斷邏輯”遷移出去。因為,如果是簡單工廠,哪天增加了新的運算,就必須修改簡單工廠類的判斷分支,這違反了“開放-封閉原則”。 現在判斷邏輯依然有,只是放在了客戶端,如果哪天增加新的運算,如果使用工廠模式,擴展就通過 ...
  • 在「 如何建立架構師的立體化思維? 」這篇文章中,老兵哥 跟大家一起聊到架構設計涉及業務、技術、系統和時間等幾個維度,也知道從技術維度可以將應用分成七層,那具體怎麼做呢?今天我們繼續來聊聊分層架構的設計流程,以及介面設計方法等內容。 ...
  • 程式名稱:功夫滑鼠KongFuMouse聯繫郵箱:[email protected]工程版本:Ver0.1.9版本狀態:工程版本,尚未發佈,敬請期待! 軟體介紹: 還在為一些固定化滑鼠點擊煩惱?還在為頻繁點擊滑鼠點擊煩惱?功夫滑鼠解放您的雙手!!!功夫滑鼠2020是一款功能強大的滑鼠自動執行軟體(滑鼠自動 ...
  • 原文鏈接:http://www.yiidian.com/servlet/servlet dispatcher.html 使用Servlet請求轉發與包含 RequestDispatcher介面提供了將請求轉發到另一個資源的功能,該資源可能是Html,Servlet或Jsp。該介面還可以用於包含其他資 ...
  • 格式: static { } 特點:隨著類的載入而執行,只執行一次,並優先於主函數。 用於給類進行初始化的。 一個類可以寫多個靜態代碼塊。 創建一個指向null的引用變數不會觸發static代碼塊。 ...
  • 在接觸 throw 之前,我們只知道可以通過函數的返回值來獲取和定位錯誤,比如通過 return 來層層返回是一種方法,但如果牽扯到多層函數調用,那麼通過 return 來返回錯誤顯得過於拖沓,這時就應該用到 throw 這個方法,throw 的靈活強大將在下邊詳細說說。 首先是 throw 的三個 ...
  • 調用命令: javadoc -d doc -author -version -encoding UTF-8 -charset UTF-8 *.java -d:幫助文檔生成後存放的目錄 -author:在幫助文檔中加入作者 -version:幫助文檔中加入版本號 一個類中預設會有一個空參數的構造函數, ...
  • 高級創意介面 1.cartier datapush介面文檔 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...