博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javaIO流(打印流--和--序列流)
阅读量:3748 次
发布时间:2019-05-22

本文共 2027 字,大约阅读时间需要 6 分钟。

import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.SequenceInputStream;
import java.io.Serializable;
/*
 * 1.打印流:
 * PrintWriter与PrintStream,可以直接操作输入流和读取流对象.
 *  该流提供了打印方法,可以将各种数据类型的数据都原样打印。
 *  字节打印流:直接操作文件。
 *  PrintStream:它的构造函数可以接收的参数类型:
 *  file对象:File
 *  字符串路径:String
 *  字节输出流:OutPutStream
 *  
 *  字符打印流printWriter:
 *  1.file对象:File。
 *  2.字符串路径:String。
 *  3.字节输出流:OutputStream。
 *  4.字符输出流:Write。
 * 2.序列流:
 * SequenceInputStream,可以对多个流进行合并。
 * 3.操作对象:
 * ObjectInputStream和ObjectOutputStream,被操作的对象需要实现Serializable接口。
 * 
 */
public class PrintStreamDemo {
public static void main(String[] args) throws IOException {
//定义读取流对象,读取由键盘输入的数据。
BufferedReader buff=new BufferedReader(new InputStreamReader(System.in));
//定义字符打印流对象,接收一个字符输出流对象。
//接收一个标准输出流,向控制台输出字符。
PrintWriter out=new PrintWriter(System.out);
//PrintWriter out=new PrintWriter(new FileWriter("c:\\b.txt",true));
String line =null;
//接收由键盘输入的字符。
while ((line=buff.readLine())!=null)
{
//将over作为结束标志。toUpperCase将小写字母转成大写字母。
if("over".equals(line.toUpperCase()))
break;
//打印字符串,将字符写入文本中。
out.println(line);
}
out.close();
buff.close();
}

}

//2.序列流:

 //* SequenceInputStream,可以对多个流进行合并。
import java.io.*;
import java.util.Enumeration;
import java.util.Vector;
public class SequenceDemo {
public static void main(String[] args) throws IOException {
//创建一个Vector集合,存取文件字符读取流FileInputStream.
Vector<FileInputStream> v=new Vector<FileInputStream>();
//添加三个读取流对象。
v.add(new FileInputStream("c:\\1.txt"));
v.add(new FileInputStream("c:\\2.txt"));
v.add(new FileInputStream("c:\\3.txt"));
//调用elements方法,将所有的读取流对象存入枚举类中。
Enumeration<FileInputStream> en=v.elements();
//使用序列流接收枚举对象。
SequenceInputStream sis=new SequenceInputStream(en);
//定义一个输入流对象,创建输入流操作的文本。
FileOutputStream fos=new FileOutputStream("c:\\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();
}
}

转载地址:http://xufsn.baihongyu.com/

你可能感兴趣的文章
实验十三:导出与导入
查看>>
第十五周.
查看>>
基于MVC模式的用户登录
查看>>
第十六周.
查看>>
Java Swing搭建QQ登录界面
查看>>
Spring常用依赖及注解的使用
查看>>
解决Maven中资源过滤问题
查看>>
Springboot中解决Ajax请求跨域问题
查看>>
使用django-bootstrap开发个人博客
查看>>
中国剩余定理
查看>>
乘法逆元
查看>>
js学习笔记(摘抄)
查看>>
线程池原理及py实现
查看>>
py线程详解线程锁GIL
查看>>
MVT MVC模型框架
查看>>
拓扑排序 板子
查看>>
vue.js笔记(未完)
查看>>
R 笔记
查看>>
centos7-Hadoop2-8-5环境搭建-基本命令行操作
查看>>
shell脚本基础
查看>>