IO版注册登录
打印流
字节打印流
字符打印流
只能写,没有读,只能操作目的地,不能操作数据源。可以操作任意数据类型。能够自动刷新。可以直接操作文本文件
可以直接操作文本文件?
FileInputStream、FileoutStream、FileReader、FileWriter、PrintStream、PrintWrite
启动自动刷新
PrintWriter pw = new PrintWriter(new FileWriter(""),ture)
还是应该调用println()的方法才可以,print不可以
标准输入输出流
System.in System.out
system.out.print() //print没有这个方法
//一次实现一行
InputStream is = System.in;
InputStreamReader isr = new InputStreamReader(is);//将字节流先转换成字符流
BufferedReader br = new BufferedReader(isr); //对象必须是Reader,然后再使用readLine()
BufferedReader br = new BufferedReader(new InputerStreamReader(Syetem.in));
System.out.println("请输入一个整数");
int i = Integer.parseInt(br.readLine()); //读的是一个字符串,所以用Integer.parseInt转换成整数型
System.out.println("");
//PrintStream ps = System.out
//OutputStream os = ps;
OutputStream os =System.out;
OutputStreamWrite osw =new OutputStreamWrite(os);
BufferedWriter bw = new BufferedWriter(osw);
BufferedWriter bw = new BufferedWrite(new OutputStreamWrite(System.out));
bw.write("hello");
bw.flush();//字符流要刷新
随机访问流
序列化流
序列化:把对象按照流一样的方式存入文本文件或者再网络中传输 ObjectOutputStream
反序列化:把文本文件中的流对象数据或者网络中的流对象数据还原成对象 ObjectInputStream
类通过java.io.Serializable接口以其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。
该接口没有任何方法,类似于这种没有方法的接口被称为标记接口
Properties属性集合类。是一个可以和IO流结合使用的集合类。
可以保存在流中或从流中加载。属性列表中每个键对应值都是一个字符串。
是Hashtable的子类,说明是一个Map集合
setProperty添加元素
getProperty获取元素
stringPropertyNames获取所有的键的集合
load(Reader reader)把文件中的数据读取到集合中
这个文件的数据必须是键值对形式
store(Writer writer,String comments)
NIO
Paths Paths.get
Files copy copy(Path source,OutputStream out)
write write(Path path,Iterable lines,charest)
总结:
数据操作流
内存操作流
打印流
标准输入输出流
随机访问流
合并流
序列化流
Properties
NIO