第十周学习总结
学习总结
这周我们还是和上周一样,学习了File对文件的输入和输出以及相关的数据流
##字节流
File f = new File(文件名);//声明File对象
(Output)(Input)Stream (out)(input) = null; //准备好输出的对象
(out)(input) = new File(Out)(In)putSTream(f); //对象进行实例化
(out)(input) = new File(Out)(In)putSTream(f,true) //在末尾加东西
字节输出流:OutputStream
byte b[]=str.get.Bytes(); //用Byte把输出的内容保存
out.write(输出对象);
out.close();//关闭文件
字节输入流 InputStream
byte b[]=new byte[1024]; //用Byte保存输入内容
input.read(输入对象)
input.close(); //关闭文件
字符流
字符流和字节流很像
File f = new File(文件名);//声明File对象
(Writer)(Reader)(out)(reader) = null; //准备好输出的对象
(out)(reader) = new File(Writer)(reader)(f); //对象进行实例化
字符输出流:Writer
out.write(输入数据) //输入文件,此处不需要转换Byte数组
out.close(); //关闭文件
字符输出流:Writer
reader.read(输入数据) //输入文件,此处不需要转换Byte数组
out.close(); //关闭文件
但要注意的是字符流有一个缓冲区必须要用(out)(reader).flush或者关闭文件才可刷新出来。
文件复制
java copy 源文件 目标文件
实现方式一:将原文件中内容全部读取到内存之中,并一次性写入到目标文件中。
实现方式二:不将源文件内容一次性读取出来,而是采用边写边读的方式
转换流
字节流转字符流 out=new OutputStreamWriter(new FileOutputStream(f));
但不管怎样都是以字节输入输出的
管道流
管道输出流 PipedOutputStream
管道输入流 PipedinputStream
线程一 PipedOutputStream connect PipedinputStream 线程二
及连接管道 自行进行输入输出操作
打印流
用PrintStream输出
打印FileOutputStream进行实例化 表达了是向文件中打印,输入到文件中
打印流格式化 与C语言一样
%s 字符串内容
%d 整形内容
%f 浮点型内容
%c 单字符内容
然后关闭文件