IO流(打印流)

在这里插入图片描述
打印流PrintStream

/**
* PrintStream:
* 1.他提供了打印方法可以对多种数据类型值进行打印,并保持数据的表示形式
* 2.不抛IOException
* 构造函数接受三种类型的值:字符串路径,File对象,字节输出流
*/
PrintStream out = new PrintStream("print.txt");
out.write(609);//只写最低8位 609和97写进去都是a
out.print(97);//将97先变成字符保持原样将数据打印到目的地
out.close();
System.out.print("end"); 

打印流PrintWriter

/**
* PrintWriter:字符打印流。
 * 构造函数参数:
 * 1.字符串路径
 * 2.File对象
 * 3.字节输出流
 * 4.字符输出流
 */
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(System.out);
PrintWriter out_file = new PrintWriter("print.txt");//PrintWriter out_file = new PrintWriter(new FileWriter("print.txt"));
String line = null;
while((line=bufr.readLine())!=null){
    if("over".equals(line)){
        break;
    }
    out_file.print(line.toUpperCase()+System.lineSeparator());
    out_file.flush();
}
out.close();
bufr.close();

序列流SequenceInputStream

/**
 *需求:将1.txt,2.txt,3.txt中的数据合并到一个文件中
 */
//两种方式
/*
Vector<FileInputStream> v = new Vector<FileInputStream>();
v.add(new FileInputStream("1.txt"));
v.add(new FileInputStream("2.txt"));
v.add(new FileInputStream("3.txt"));
Enumeration<FileInputStream> en = v.elements();
*/
/*
ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
for(int i=1;i<=3;i++){
    al.add(new FileInputStream(i+".txt"));
}
final Iterator<FileInputStream> it = al.iterator();
Enumeration<FileInputStream> en = new Enumeration<FileInputStream>(){
    public boolean hasMoreElements(){
        return it.hasNext();
    }
    public FileInputStream nextElement(){
        return it.next();}
};
*/
SequenceInputStream sis = new SequenceInputStream(en);
FileOutputStream fos = new FileOutputStream("4.txt");
byte[] buf = new byte[1024];
int len = 0;
while((len=sis.read(buf))!=-1){
    fos.write(buf,0,len);
}
fos.close();
sis.close();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值