第三次学JAVA再学不好就吃翔(part101)--IO流
學(xué)習(xí)筆記,僅供參考
文章目錄
- IO流
- IO流的概述及其分類
- FileInputStream
- 構(gòu)造方法
- 成員方法
- 舉個(gè)例子
- FileOutputStream
- 構(gòu)造方法
- 成員方法
- 舉個(gè)例子
IO流
IO流的概述及其分類
- 概念
- IO流用來處理設(shè)備之間的數(shù)據(jù)傳輸
- Java對(duì)數(shù)據(jù)的操作是通過流的方式
- Java用于操作流的類都在IO包中
- 流按流向分為兩種:輸入流,輸出流。
- 流按操作類型分為兩種:
- 字節(jié)流 : 字節(jié)流可以操作任何數(shù)據(jù),因?yàn)樵谟?jì)算機(jī)中任何數(shù)據(jù)都是以字節(jié)的形式存儲(chǔ)的
- 字符流 : 字符流只能操作純字符數(shù)據(jù)。
- IO流常用父類
- 字節(jié)流的抽象父類:
- InputStream
- OutputStream
- 字符流的抽象父類:
- Reader
- Writer
- 字節(jié)流的抽象父類:
- IO程序書寫
- 使用前,導(dǎo)入IO包中的類
- 使用時(shí),進(jìn)行IO異常處理
- 使用后,釋放資源
FileInputStream
構(gòu)造方法
FileInputStream(File file)
通過打開一個(gè)到實(shí)際文件的連接來創(chuàng)建一個(gè) FileInputStream,該文件通過文件系統(tǒng)中的 File 對(duì)象 file 指定.
FileInputStream(String name)
通過打開一個(gè)到實(shí)際文件的連接來創(chuàng)建一個(gè) FileInputStream,該文件通過文件系統(tǒng)中的路徑名 name 指定。
成員方法
- read
從此輸入流中讀取一個(gè)數(shù)據(jù)字節(jié)。如果沒有輸入可用,則此方法將阻塞。 返回值為下一個(gè)數(shù)據(jù)字節(jié),如果已到達(dá)文件末尾,則返回 -1。
舉個(gè)例子
當(dāng)前項(xiàng)目下創(chuàng)建yyy.txt:
abcde讀取yyy.txt文件內(nèi)的全部數(shù)據(jù):
package com.guiyang.bean;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;public class Demo1_FileInputStream {public static void main(String[] args) throws IOException {FileInputStream fis = new FileInputStream("yyy.txt");//創(chuàng)建流對(duì)象int b;while ((b = fis.read()) != -1) {System.out.println(b);}fis.close();} }輸出:
97 98 99 100 101FileOutputStream
構(gòu)造方法
FileOutputStream(File file)
創(chuàng)建一個(gè)向指定 File 對(duì)象表示的文件中寫入數(shù)據(jù)的文件輸出流。
FileOutputStream(String name)
創(chuàng)建一個(gè)向具有指定名稱的文件中寫入數(shù)據(jù)的輸出文件流。
成員方法
- write
將 b.length 個(gè)字節(jié)從指定 byte 數(shù)組寫入此文件輸出流中。
public void write(byte[] b, int off, int len)
將指定 byte 數(shù)組中從偏移量 off 開始的 len 個(gè)字節(jié)寫入此文件輸出流。
舉個(gè)例子
- 創(chuàng)建新文件,并寫入內(nèi)容
創(chuàng)建xxx.txt文件并寫入abc:
package com.guiyang.bean;import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;public class Demo2_FileOutputStream {public static void main(String[] args) throws IOException {FileOutputStream fos = new FileOutputStream("xxx.txt");fos.write(97);fos.write(98);fos.write(99);fos.close();} }xxx.txt內(nèi)輸出:
abc- 在已有文件內(nèi)追加內(nèi)容
在xxx.txt中追加def:
package com.guiyang.bean;import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;public class Demo2_FileOutputStream {public static void main(String[] args) throws IOException {FileOutputStream fos = new FileOutputStream("xxx.txt", true);fos.write(100);fos.write(101);fos.write(102);fos.close();} }如果要在原文件內(nèi)追加內(nèi)容,就在構(gòu)造方法的第2個(gè)參數(shù)傳入true;如果不傳入true,就會(huì)清空原文件,并寫入新內(nèi)容。
xxx.txt文件:
abcdef總結(jié)
以上是生活随笔為你收集整理的第三次学JAVA再学不好就吃翔(part101)--IO流的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三星和 Naver 拟联手打造生成式 A
- 下一篇: 分布式业务的异常解决思路