一: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();
}
}