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();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值