日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java IO 节点流与处理流类型

發布時間:2023/12/10 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 节点流与处理流类型的全部內容,希望文章能夠幫你解決所遇到的問題。

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