java IO Stream 使用

來源:互聯網
上載者:User

DataInputStream有readLine()方法,新IO中BufferedReader也有readLine()方法

StringBufferInputStream()只接收字串參數

FileInputStream()要和BufferedInputStream()一起使用,提高效率

package com.cjf.io;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.LineNumberInputStream;import java.io.PrintStream;import java.io.StringBufferInputStream;public class IOStreamDemo {private static String temp = null;/** * @param args */@SuppressWarnings("deprecation")public static void main(String[] args) {//temp = bufferedIn();//stringBuffer();//formatData();//lineNumber();//store_recover();systemIn();}/** * 使用緩衝的輸入檔案 */public static void bufferedIn(){String result = null;try {DataInputStream input = new DataInputStream(//格式化讀取輸入資料(不改變資料格式)new BufferedInputStream(//提高速度,先對檔案進行緩衝new FileInputStream("f:/tcp.txt")));//開啟檔案,資料來源result = new String();while((result = input.readLine()) != null){System.out.println(result);System.out.println("----------");}input.close();//要關閉檔案} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * Input from memory */@SuppressWarnings("deprecation")public static void stringBuffer(){StringBufferInputStream in2 = new StringBufferInputStream("abcd");int len = 0;while((len = in2.read()) != -1){//返回字元所對象的asc碼97 98 99 100System.out.print((char)len+" ");}try {in2.close();//關閉} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 格式化記憶體輸入 */public static void formatData(){try {DataInputStream in3 = new DataInputStream(new StringBufferInputStream("abcd"));//只能讀取字串,不能讀取檔案while(in3.available() != 0){//available()判斷有多少字元可以用System.out.println(in3.readByte());//列印出字元的asc碼 97 98 99 100}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 跟蹤輸入行的編號 */public static void lineNumber(){String result = null;try {LineNumberInputStream li = new LineNumberInputStream(//跟蹤輸入行的編號new BufferedInputStream(new FileInputStream("f:/tcp.txt")));DataInputStream in4 = new DataInputStream(li);//資料來源  保持原來的資料格式PrintStream out1 = new PrintStream(new BufferedOutputStream(//格式化資料/效率new FileOutputStream("f:/lineDemo.txt")));//資料去向while((result = in4.readLine()) != null){out1.println("lineNumber:" + li.getLineNumber() +":" +result);}out1.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 儲存於回複資料 */public static void store_recover(){try {DataOutputStream out2 = new DataOutputStream(//資料儲存去向new BufferedOutputStream(new FileOutputStream("f:/store_recover.txt")));out2.writeBytes("hello io , you are so easy: \n");//對應ascII,應該講字元作為位元組寫入,為了讀出方便out2.writeDouble(3.1415926);//第二行寫入out2.close();DataInputStream in5 = new DataInputStream(new BufferedInputStream(new FileInputStream("f:/store_recover.txt")));System.out.println(in5.readLine());//將字元當做普通的ascII讀回System.out.println(in5.readDouble());//上邊換行後,這裡開始讀下一行,正好是3.1415926} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 讀取輸入 * System.in需要和DataInputStream一塊用 */public static void systemIn(){try {DataInputStream in6 = new DataInputStream(new BufferedInputStream(System.in));//String s ;while((s = in6.readLine()).length() != 0){System.out.println(s);}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.