A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiangfei 初级黑马   /  2019-5-13 14:56  /  894 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

流概述:
概念:流是数据传输的总称
分类:(读)输入流(从硬盘当中读取数据)  (写)输出流(从内存中根据程序写出数据)
工作方式:字节流  字符流  字节流是万能的
字节流每次的工作单元是以字节为单位的
中文读写用字符流

使用字节流写出数据 InputStream 字节输入流 OutputStream  字节输出流  这两个都是抽象类
java.io包下
子类名特点:子类名称都是以其父类名作为子类名的后缀

子类:FileOutputStream:作用:将数据写入文件
构造方法
FileOutputStream(String name)创建文件输出流以指定的名称写入文件 String  name是文件路径  写第一种比较方便  因为底层默认帮你做了第二种构造方法做的事
FileOutputStream(File file)创建文件输出流写入由指定的 File对象表示的文件
创建文件输出流做了什么?
1.调用系统功能创建了文件
2.创建了字节输出流对象
3.让字节输出流对象指向创建好的文件
他的方法
1.write(int b)  将指定的字节写入此文件输出流
IO操作 不在控制台显示
write(97);//a  存入文件的是字符
所有跟IO相关的操作最后都要释放资源
close()  关闭此文件输出流并释放与此相关联的任何系统资源!!!
使用字节输出流写数据的步骤
创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件)
调用字节输出流对象的写数据方法
释放资源(关闭此文件输出流并释放与此流相关联的任何系统资源)

字节流中写数据的三种方法
write(int b)将指定的字节写入此文件输出流  一次写一个字节数据
write(byte[] b)将b.length字节从指定的字节数组写入此文件出输出流  一次写一个字节数组数据
write(byte[] b,int off,int len)将len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流(off代表从哪个索引开始  len代表写几个)
一次写一个字节数组的部分数据


简单的方式得到一个字节数组
String 类中的一个方法  getBytes()  返回字符串对应的字节数组

字节流写数据的两个小问题
字节流写出换行和文件续写
换行:不同的操作系统的换行符号是不同的
window:\r\n
linux:\n
mac:\r
write("\r\n".getBytes())

文件续写(追加写)
创建对象的时候告诉它  我这个字节输出流是追加写入的
构造方法
FileOutputStream(String name,boolean append)
创建文件输出流以指定的名称写入文件
如果第二个参数为true,则字节将写入文件的末尾而不是开头


字节流写数据同时处理异常
finally:在异常处理是提供finally块来执行所有清楚操作,比如说IO流中的释放资源
特点:被finally控制的语句一定会执行,除非JVM退出
try{

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马