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