Stream、IO、文件操作

      網友投稿 812 2022-05-28

      Stream、IO、文件操作

      關于本篇,引用一個群大佬的話:

      ?

      stream是管道,文件是數據載體,IO(InPut(輸入)、OutPut(輸出))是數據的流動的方向

      ?

      1.Stream流

      Java流是對于字節和字符來說的,所以是字節流,字符流。

      什么是流,大家看一個詞,水流,什么是水流大家都知道,那么換成字節流,字符流不過是同樣的意思罷了。 什么是字節流?單個字節或者字符,而單個字節或者字符很明顯構不成流,得是多個字節或者字符。

      那么這么解釋,應該是不會再感覺到困惑啦。

      下面看看實操吧。

      1.1從鍵盤獲取數據

      咦,突然有種莫名的熟悉感。這不是Scanner嗎!

      不不不,今天我們講的是另一個:InPutSteamReader

      看著好長啊,我們這次先不去管它是什么,我們先看看他能干什么:獲取鍵盤數據

      1. 獲取一個字符:

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException{ BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //獲取單個字符 char c; c = (char) a.read(); //使用c來接收字符 System.out.println(c); //輸出 } }

      運行結果:

      在這里插入圖片描述

      玩點花的:

      Stream、IO、文件操作

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException{ BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //獲取單個字符 ArrayList c = new ArrayList<>(); for (int i = 0;i<10;i++){ c.add((char) a.read()); } System.out.println(c); } }

      ?

      都是之前學過的東西,如果你看不懂,說明基礎大的不太牢固哦

      ?

      運行結果:

      在這里插入圖片描述

      嘿嘿

      在這里插入圖片描述

      可以看到,雖然我們輸入了一句話,但是我們的Java卻一個字符一個字符的存入了集合c中

      2.獲取多個字符

      也就是獲取字符串

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); String str; str = a.readLine(); System.out.println(str); } }

      運行試試

      在這里插入圖片描述

      嗯,效果還可以,那就玩點花里胡哨的:

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //獲取字符串 ArrayList str = new ArrayList<>(); while (true){ String st = a.readLine(); if (st.equals("quit")){ break; } str.add(st); } System.out.println(str); } }

      我們嘗試輸出一堆字符串并保存在集合中。

      運行結果:

      1.2輸出數據到控制臺

      這還有什么可好說的?

      System.out.print(); 不換行輸出

      System.out.println(); 換行輸出

      System.out.write(); 輸出低八位字節

      System.out.printf() 格式化輸出(這個之前好像沒說過)

      System.out.println(0); //輸出一個,并換行 System.out.print(1+" "); //輸出一個 后面跟個空格,不換行 System.out.write('a');//輸出一個字符a 不換行 System.out.println(); //加個這個,換行,美觀一點 System.out.printf("這是一個數字 %d 這是一個字符串 %s ",1,"hello"); //格式化輸出

      運行結果:

      2.文件操作

      關于對文件的操作,要說的話,有很多很多,就直接實戰看例子吧

      2.1相關包

      首先呢,我們先導包

      import java.io.*;

      可以看到,我們的文件操作的包位于java.io包中。

      2.2創建文件,并寫入

      寫入文件的相關操作位于io包中的「OutputStream」類中。想對文件進行操作,我們需要先利用OutputStream類的構造方法創建一個文件對象,然后根據文件對象的方法對文件進行操作。

      OutputStream fwrite = new FileOutputStream("C:/java/text.txt"); //創建文件對象 for (int i = 0;i<10;i++){ //循環向里面存數據 fwrite.write(i); } fwrite.close(); //關閉文件

      2.3讀取文件

      讀取文件的相關操作位于io包中的「InputStream」類中,我們若想對文件進行操作,就和寫入文件是一樣的,先創建對象,再使用相關操作方法。

      利用InputStream讀取文件:

      InputStream fread = new FileInputStream("C:/java/text.txt"); //創建文件對象 byte[] fb = fread.readAllBytes(); //創建數組接收數據 fread.close(); //關閉文件 for (byte b : fb) { //循環讀取 System.out.println(b); }

      全部代碼:

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { OutputStream fwrite = new FileOutputStream("C:/java/text.txt"); for (int i = 0;i<10;i++){ fwrite.write( i); } fwrite.close(); InputStream fread = new FileInputStream("C:/java/text.txt"); byte[] fb = fread.readAllBytes(); fread.close(); for (byte b : fb) { System.out.println(b); } } }

      Stream、IO、文件操作

      關于本篇,引用一個群大佬的話:

      stream是管道,文件是數據載體,IO(InPut(輸入)、OutPut(輸出))是數據的流動的方向

      1.Stream流

      Java流是對于字節和字符來說的,所以是字節流,字符流。

      什么是流,大家看一個詞,水流,什么是水流大家都知道,那么換成字節流,字符流不過是同樣的意思罷了。 什么是字節流?單個字節或者字符,而單個字節或者字符很明顯構不成流,得是多個字節或者字符。

      那么這么解釋,應該是不會再感覺到困惑啦。

      下面看看實操吧。

      1.1從鍵盤獲取數據

      咦,突然有種莫名的熟悉感。這不是Scanner嗎!

      不不不,今天我們講的是另一個:InPutSteamReader

      看著好長啊,我們這次先不去管它是什么,我們先看看他能干什么:獲取鍵盤數據

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException{ BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //獲取單個字符 char c; c = (char) a.read(); //使用c來接收字符 System.out.println(c); //輸出 } }

      運行結果:

      玩點花的:

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException{ BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //獲取單個字符 ArrayList c = new ArrayList<>(); for (int i = 0;i<10;i++){ c.add((char) a.read()); } System.out.println(c); } }

      都是之前學過的東西,如果你看不懂,說明基礎大的不太牢固哦

      運行結果:

      嘿嘿

      可以看到,雖然我們輸入了一句話,但是我們的Java卻一個字符一個字符的存入了集合c中

      也就是獲取字符串

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); String str; str = a.readLine(); System.out.println(str); } }

      運行試試

      嗯,效果還可以,那就玩點花里胡哨的:

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //獲取字符串 ArrayList str = new ArrayList<>(); while (true){ String st = a.readLine(); if (st.equals("quit")){ break; } str.add(st); } System.out.println(str); } }

      我們嘗試輸出一堆字符串并保存在集合中。

      運行結果:

      1.2輸出數據到控制臺

      這還有什么可好說的?

      System.out.print(); 不換行輸出

      System.out.println(); 換行輸出

      System.out.write(); 輸出低八位字節

      System.out.printf() 格式化輸出(這個之前好像沒說過)

      System.out.println(0); //輸出一個,并換行 System.out.print(1+" "); //輸出一個 后面跟個空格,不換行 System.out.write('a');//輸出一個字符a 不換行 System.out.println(); //加個這個,換行,美觀一點 System.out.printf("這是一個數字 %d 這是一個字符串 %s ",1,"hello"); //格式化輸出

      運行結果:

      2.文件操作

      關于對文件的操作,要說的話,有很多很多,就直接實戰看例子吧

      2.1相關包

      首先呢,我們先導包

      import java.io.*;

      可以看到,我們的文件操作的包位于java.io包中。

      2.2創建文件,并寫入

      寫入文件的相關操作位于io包中的「OutputStream」類中。想對文件進行操作,我們需要先利用OutputStream類的構造方法創建一個文件對象,然后根據文件對象的方法對文件進行操作。

      OutputStream fwrite = new FileOutputStream("C:/java/text.txt"); //創建文件對象 for (int i = 0;i<10;i++){ //循環向里面存數據 fwrite.write(i); } fwrite.close(); //關閉文件

      2.3讀取文件

      讀取文件的相關操作位于io包中的「InputStream」類中,我們若想對文件進行操作,就和寫入文件是一樣的,先創建對象,再使用相關操作方法。

      利用InputStream讀取文件:

      InputStream fread = new FileInputStream("C:/java/text.txt"); //創建文件對象 byte[] fb = fread.readAllBytes(); //創建數組接收數據 fread.close(); //關閉文件 for (byte b : fb) { //循環讀取 System.out.println(b); }

      全部代碼:

      import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { OutputStream fwrite = new FileOutputStream("C:/java/text.txt"); for (int i = 0;i<10;i++){ fwrite.write( i); } fwrite.close(); InputStream fread = new FileInputStream("C:/java/text.txt"); byte[] fb = fread.readAllBytes(); fread.close(); for (byte b : fb) { System.out.println(b); } } }

      Java

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Maven學習心得——快速入門Meven
      下一篇:計算機組成的基本硬件設備
      相關文章
      久久国产成人精品国产成人亚洲| 4444亚洲国产成人精品| 久久久久久久久亚洲| 国产偷国产偷亚洲清高动态图 | 亚洲中文字幕无码亚洲成A人片| 国产AV无码专区亚洲AV毛网站| 亚洲欧洲一区二区三区| 日韩精品电影一区亚洲| 自拍偷自拍亚洲精品偷一| 精品亚洲福利一区二区| 亚洲av午夜电影在线观看| 亚洲成av人在线观看网站| 久久久久亚洲国产AV麻豆 | 亚洲国产精品嫩草影院| 亚洲永久在线观看| 亚洲日韩一中文字暮| 亚洲精品无AMM毛片| 亚洲国产欧洲综合997久久| 亚洲欧洲专线一区| 久久久久亚洲精品无码网址色欲| 九月婷婷亚洲综合在线| 亚洲AV无码成人精品区大在线| 亚洲精品综合久久| 丁香五月亚洲综合深深爱| 亚洲国产一二三精品无码| 亚洲av无码乱码国产精品fc2| 亚洲AV成人片色在线观看高潮| 91亚洲国产在人线播放午夜| 亚洲成a人片在线网站| 亚洲综合校园春色| 亚洲色大成网站WWW国产| 国产亚洲视频在线播放大全| 国产成人高清亚洲| 亚洲成av人片在线观看无码不卡| 久久精品国产亚洲AV无码娇色| 亚洲免费观看在线视频| 亚洲AV无码专区国产乱码不卡| 亚洲国产香蕉人人爽成AV片久久 | 亚洲一区精品无码| 久久亚洲精品成人综合| 亚洲电影免费观看|