IO 之鍵盤錄入與控制檯輸出,隨機訪問流,合併流

一:IO鍵盤錄入三種方式:
1:main方法的args接受參數、
2:Scanner
3:通過字符緩衝流包裝標準輸入流
bufferedreader br=new bufferedreader//2再將其包裝成字符緩衝流
(new InputstreamReader(System.in));//1system.in爲字節流,將其包裝成字符流

public class zhuanhuanliu {

public static void main(String[] args) throws IOException {
      BufferedReader br=new BufferedReader
              (new InputStreamReader(System.in));
      System.out.println("請輸入:");
    String lineString=  br.readLine();
      System.out.println("你輸入的爲"+lineString);
}

}

二:控制檯是字節輸出流,將其換成字符輸出流。
/*獲取標準輸出流。
printstream ps=system.out;
outputstream os=ps;//system.out爲outputstream 的子類。
outputstream os=ps;故,此處爲多態!*/
bufferedwriter bw=new bufferedwriter(new filewriter(System.in))//outputstream=filewriter和inputstream=filereader.
bw.write(“HELLO”);
bw.flush();這樣就可以按照標準輸出流的方式將字符串輸出到控制檯上
3.隨機訪問流(不屬於流,是OBJECT的之類)

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;

public class zhuanhuanliu {

public static void main(String[] args) throws IOException {
    read();
    write();

}

private static void write() throws IOException {
RandomAccessFile raf=new RandomAccessFile(“b.txt”,”rw”);
raf.writeChars(“hello”);
}
private static void read() throws IOException {
RandomAccessFile raf=new RandomAccessFile(“b.txt”,”rw”);
int i=(int) (raf.getFilePointer());//獲取指針數
System.out.println(i);
raf.seek(0);//將文件指針設置爲0
char ch=raf.readChar();
System.out.println(ch);//這樣就可以從指定位置讀取。寫入,同理!
}

}
三.將a.txt b.txt c.txt三個記事本結合到hello.txt中。

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;

public class manytoone {

public static void main(String[] args) throws IOException {

Vectorv=new Vector<>();
InputStream s1=new FileInputStream(“a.txt”);
InputStream s2=new FileInputStream(“b.txt”);
InputStream s3=new FileInputStream(“c.txt”);
v.add(s1);
v.add(s2);
v.add(s3);
Enumeration en=v.elements();
SequenceInputStream sis=new SequenceInputStream(en);
BufferedOutputStream bos=new BufferedOutputStream(
new FileOutputStream(“hello.txt”));

byte[] by=new byte[1024];
int len=0;
while ((len=sis.read(by))!=-1) {
bos.write(by, 0, len);
System.out.println(sis.read(by, 0, len));
}
sis.close();
bos.close();

}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章