Java IO 节点流与处理流类型
生活随笔
收集整理的這篇文章主要介紹了
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
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)
分析這個例子:
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 节点流与处理流类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python数据分析论文结构_基于pyt
- 下一篇: java美元兑换,(Java实现) 美元