本篇文章為大家帶來了關於java的相關知識,其中主要介紹了IO操作的相關問題,包括了字節流和字符流等相關內容,下面一起來看一下,希望對大家有幫助。
推薦學習:《java影片教學》
前言:本章具體介紹了位元組流、字元流的基本使用方法,圖解穿插程式碼實作。
IO操作
##java.io.InputStream 輸入流,主要是用來讀取文件內容的。
java.io.OutputStream 輸出流,主要是用來將內容位元組寫入檔案的。
FileInputStream
該流用於從檔案讀取數據,它的物件可以用關鍵字 new 來建立。
有多種建構方法可用來建立物件。
可以使用字串類型的檔案名稱來建立一個輸入流物件來讀取檔案
InputStream f = new FileInputStream("D:/hello");
也可以使用一個檔案物件來建立一個輸入流物件來讀取文件。我們首先得使用File() 方法來建立一個檔案物件:
File f = new File("D:/hello");InputStream in = new FileInputStream(f);
FileOutputStream
該類別用來建立一個檔案並向文件中寫數據。
如果該流在開啟檔案進行輸出之前,目標檔案不存在,那麼該流會建立該檔案。
有兩個建構方法可以用來建立 FileOutputStream 物件。
使用字串類型的檔案名稱來建立一個輸出流物件:
OutputStream f = new FileOutputStream("D:/hello");
#也可以使用一個檔案物件來建立一個輸出流來寫入檔案。我們首先得使用File()方法來建立一個檔案物件:
File f = new File("D:/hello");OutputStream fOut = new FileOutputStream(f);
位元組流讀寫案例
讀取D:/ hello.txt檔案中的內容再輸入到檔案D:/test.txt中
public class Mk { public static void main(String[] args) throws IOException { File file=new File("D://hello.txt"); File file1= new File("D://test.txt"); InputStream is=new FileInputStream(file); OutputStream out=new FileOutputStream(file1); //定义byte数组用来暂存数据 byte[] buf = new byte[1024]; //读取Is中的内容存到buf is.read(buf); //将buf中的内容写入out out.write(buf); is.close(); out.close(); } }
字元流
FileWriter
寫入檔案實例
public class A { public static void main(String[] args) throws IOException { FileWriter fw = new FileWriter("user.txt", true); fw.write("你好中国1"); fw.write("你好中国2"); fw.write("你好中国3"); fw.close(); }}
#FileReader
##讀取文件實例這裡我把內容換行了
br.ready()是判斷這一行流是否為空
br.readLine()是輸出一行,然後自動遊標指向下一行。public class A { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("user.txt")); while (br.ready()) { System.out.println(br.readLine()); } br.close(); }}
位元組流和字元流使用是非常相似的,那麼除了操作程式碼的不同之外,還有哪些不同呢?
位元組流在操作的時候本身是不會用到緩衝區(記憶體)的,是與檔案本身直接操作的,而字元流在操作的時候是使用到緩衝區的位元組流在操作文件時,即使不關閉資源(close方法),文件也能輸出,但是如果字元流不使用close方法的話,則不會輸出任何內容,說明字元流用的是緩衝區,並且可以使用flush方法強制進行刷新緩衝區,這時才能在不close的情況下輸出內容
那開發中究竟用字節流好還是用字元流好呢?
在所有的硬碟上保存檔案或進行傳輸的時候都是以位元組的方法進行的,包括圖片也是按字節完成,而字元是只有在記憶體中才會形成的,所以使用位元組的操作是最多的。推薦學習:《如果要java程式實作一個拷貝功能,應該選用位元組流進行操作(可能拷貝的是圖片),並且採用邊讀邊寫的方式(節省記憶體)。
java影片教學》
以上是JAVA學習IO操作之位元組流與字元流(總結分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Java是平台獨立的,因為其"一次編寫,到處運行"的設計理念,依賴於Java虛擬機(JVM)和字節碼。 1)Java代碼編譯成字節碼,由JVM解釋或即時編譯在本地運行。 2)需要注意庫依賴、性能差異和環境配置。 3)使用標準庫、跨平台測試和版本管理是確保平台獨立性的最佳實踐。

Java'splatFormIndenceIsnotsimple; itinvolvesComplexities.1)jvmcompatiblemustbebeeniblemustbeensuredacrossplatforms.2)Nativelibrariesandsystemcallsneedcarefulhandling.3)

Java'splatformindependencebenefitswebapplicationsbyallowingcodetorunonanysystemwithaJVM,simplifyingdeploymentandscaling.Itenables:1)easydeploymentacrossdifferentservers,2)seamlessscalingacrosscloudplatforms,and3)consistentdevelopmenttodeploymentproce

thejvmistheruntimeenvorment forexecutingjavabytecode,Cocucialforjava的“ WriteOnce,RunanyWhere”能力

JavaremainsatopchoicefordevelopersduetoitsplatFormentence,對象與方向設計,強度,自動化的MememoryManagement和ComprechensivestAndArdArdArdLibrary

Java'splatFormIndependecemeansDeveloperScanWriteCeandeCeandOnanyDeviceWithouTrecompOlding.thisAcachivedThroughThroughTheroughThejavavirtualmachine(JVM),WhaterslatesbyTecodeDecodeOdeIntComenthendions,允許univerniverSaliversalComplatibilityAcrossplatss.allospplats.s.howevss.howev

要設置JVM,需按以下步驟進行:1)下載並安裝JDK,2)設置環境變量,3)驗證安裝,4)設置IDE,5)測試運行程序。設置JVM不僅僅是讓其工作,還包括優化內存分配、垃圾收集、性能調優和錯誤處理,以確保最佳運行效果。

toensurejavaplatFormIntence,lofterTheSeSteps:1)compileAndRunyOpplicationOnmultPlatFormSusiseDifferenToSandjvmversions.2)upureizeci/cdppipipelinelikeinkinslikejenkinsorgithikejenkinsorgithikejenkinsorgithikejenkinsorgithike forautomatecross-plateftestesteftestesting.3)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

禪工作室 13.0.1
強大的PHP整合開發環境

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3漢化版
中文版,非常好用