日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java IO 节点流与处理流类型

發布時間:2023/12/10 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java IO 节点流与处理流类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


處理流類型:


1、處理流之首先緩沖流:

解釋:



例子:TestBufferStream1.java

package com.zhj.www;import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException;public class TestBufferStream1 {public static void main(String[] args) {try {FileInputStream fileInputStream = new FileInputStream("E:\\JavaCode\\eclipse-workspace\\TestFileWriter\\src\\com\\zhj\\www\\Hello.dat");//從某個文件開始讀入BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);int c = 0;System.out.println(fileInputStream.read());System.out.println(fileInputStream.read());fileInputStream.mark(100);for(int i = 0;i< 10 && (c = bufferedInputStream.read()) != -1;i++) {System.out.println(c + " ");}System.out.println();fileInputStream.reset();for(int i = 0;i< 10 && (c = bufferedInputStream.read()) != -1;i++) {System.out.println(c + " ");}fileInputStream.close();} catch (IOException e) {e.getStackTrace();}} }

運行結果:
?????

什么是流,就是管道,在一個文件中插了一條管道,可以讀入,也可以寫入。節點流也可以這么理解。

處理流呢?在節點流的基礎上,外面又包了一層管道。

例子:TestBufferStream2.java



package com.zhj.www; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class TestBufferStream2 {public static void main(String[] args) {try {BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("E:\\JavaCode\\eclipse-workspace\\TestBufferStream2\\src\\com\\zhj\\www\\HelloWorld.txt"));BufferedReader bufferedReader = new BufferedReader(new FileReader("E:\\JavaCode\\eclipse-workspace\\TestBufferStream2\\src\\com\\zhj\\www\\HelloWorld.txt"));String string = null;for(int i = 1;i<=100;i++) {string= String.valueOf(Math.random());bufferedWriter.write(string);bufferedWriter.newLine();}bufferedWriter.flush();while ((string = bufferedReader.readLine()) != null) {System.out.println(string);}bufferedWriter.close();bufferedReader.close();} catch (IOException e) {e.printStackTrace();}} }

2、處理流之轉換流:



舉個例子:(TestTransForm1.java)

package com.zhj.www; import java.io.*; public class TestTransForm1 {public static void main(String[] args) {try {//轉換流:OuputStream轉化為Writer;OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream("E:\\JavaCode\\eclipse-workspace\\TestTransForm1\\src\\com\\zhj\\www\\hello.txt"));outputStreamWriter.write("Hello_World! ");System.out.println(outputStreamWriter.getEncoding());//輸出編碼方式outputStreamWriter.close();outputStreamWriter =new OutputStreamWriter(new FileOutputStream("E:\\JavaCode\\eclipse-workspace\\TestTransForm1\\src\\com\\zhj\\www\\hello.txt", true),"ISO8859_1");outputStreamWriter.write("Heihei!");System.out.println(outputStreamWriter.getEncoding());outputStreamWriter.close();} catch (Exception e) {e.getStackTrace();}} }

分析這個例子:


再舉個例子:(TestTransForm2.java)

package com.zhj.www;import java.io.*;public class TestTransForm2 {public static void main(String[] args) {InputStreamReader inputStreamReader = new InputStreamReader(System.in);BufferedReader bufferedInputStream = new BufferedReader(inputStreamReader);String string= null;try {string =bufferedInputStream.readLine();while (string!= null) {if (string.equalsIgnoreCase("exit")) {break;}System.out.println(string.toUpperCase());string = bufferedInputStream.readLine();}bufferedInputStream.close();} catch (IOException e) {e.getStackTrace();}}}

分析這個例子:


3、處理流之數據流:


直接上例子:(TestDataStream.java)


package com.zhj.www; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; public class TestDataStream {public static void main(String[] args) {ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream);try {dataOutputStream.writeDouble(Math.random());dataOutputStream.writeBoolean(true);ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());System.out.println(byteArrayInputStream.available());//9DataInputStream dataInputStream = new DataInputStream(byteArrayInputStream);System.out.println(dataInputStream.readDouble());System.out.println(dataInputStream.readBoolean());dataOutputStream.close();dataInputStream.close();} catch (IOException e) {e.getStackTrace();}} }

//Math.random()是令系統隨機選取大于等于 0.0 且小于 1.0 的偽隨機 double 值,是Java語言常用代碼

簡單流程分析:



4、處理流之Print流:



舉個例子:TestPrintStream1.java



分析:


代碼意思:就是將從鍵盤輸入的數據,保存到log.dat;然后再從log.data輸出到命令行。

再舉個例子:TestPrintStream2.java


簡單分析:



再在舉個例子:TestPrintStream3.java



簡單分析:

代碼的意思就是:把從鍵盤輸入的內容保存到日志文件中,只要從鍵盤輸入的不為null,就繼續把從鍵盤輸入的信息保存到指定的日志文件中,但當輸入的等于exit,就停止往日志中寫。



5、處理流之Object流:














總結

以上是生活随笔為你收集整理的Java IO 节点流与处理流类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。