- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IO流个人总结笔记 李环
PAGE \* MERGEFORMAT 14
IO 流
●IO流用来处理数据之间的传输
●java对数据的操作时通过流的方式
●java用于操作流的对象都在IO包中
●流按操作数据分为两种:字节流与字符流
●流按方向分为:输入流,输出流
字符流的由来其实就是 字节流读取数据源后,不直接操作,而是先查指定的编码表,获取对应的文字,再对这个文字操作,也就是等于 字节流+编码表
输入输出流逝相对于内存设备与外设
IO流常用基类
字节流的抽象基类
InputStream
OutputStream
字符流的抽象基类
Reader
Writer
注:这些体系的子类都以父类为后缀,而子类名的前缀就是该对象的功能
具体用法
FileWriter
语法:
FileWriter file=new FileWriter(“文件名”);
注意:
①创建一个可以往文件中写入字符数据的字符输出流对象;
②既然是往一个文件中写入文字数据,那么在创建对象时,就必须明确该文件(用于存储数据的目的地);
③如果文件不存在,则会自动创建,如果文件存在,则会被覆盖
④如果对构造函数文件名后加入“true”,则可以续写,即:
FileWriter file=new FileWriter(“文件名”,true)
2)调用Writer里的write(String)方法,将数据写入输出流,即:
file.write();
3)刷新流,让数据立即写入文件,即:
file.flush();
操作结束一定要关闭流,不要占用资源,否则同时也给数据带来安全隐患:
file.close();
异常处理:
(a)流的异常处理时,在try外部声明类类型变量引用,在try内部初始化
FileWriter file=null;
try {
file = new FileWriter(1.txt);
(b)finally部分单独处理
} catch (Exception e) {
System.out.println(e.toString());
} finally {
if (file != null) {// 这个必须加上!只有当顶层文件不为空时 才需要关闭
try {
file.close();
} catch (IOException e) {
throw new RuntimeException(关闭流失败!);
}
}
}
FileReader
语法:
FileReader file=new FileReader(“文件名”);
注:在创建读取流时必须确定文件存在,即用一个读取流关联一个已存在的文件
用Reader里的read();方法读进输入流
int a=file.read();
System.out.print(a);注:需要注意的是,这里读取出来的是字符,read()方法返回的都是 int类型,而并非文件里的内容,因为硬盘存储数据都是二进制的,例如文件里的是”a”,那么读取出来在控制台显示的就是”97”!
所以如果想要读取字符,那么就需要强转,如下:
int a=file.read();
System.out.print((char)a);
重要!:读取流如果读到末尾,则显示-1!
3)由于一次只能读取一个字符,所以需要用到循环:
int a;
while((a=file.read())!=-1){
System.out.print((char)a);
}
第二种读取方法:使用读取数组的方法read(char[] )
char[] ch=new char[10];//数组长度可以自己定义
file.read(ch);//将读到的字符存入数组中
String s=new String(ch);//将char数组转换为String字符串System.out.print(s);//打印输出字符串
也可以简化为
char[] ch=new char[10];//数组长度可以自己定义
file.read(ch);//将读到的字符存入数组中
System.out.print(new String(ch));//打印输出字符串
如果数组定义的长度不够,则如下:
char[] ch
您可能关注的文档
最近下载
- 内部控制岗位职责详解.pdf VIP
- (外研版2024新教材)英语三年级上册 Unit 1 作业练习设计.docx
- 黄芪多糖提取工艺优化及抗氧化活性的研究.doc
- YBT4001.1-2019 钢格栅板及配套件 第1部分:钢格栅板.pdf VIP
- 人教版小学四年级数学上册《第四单元 三位数乘两位数》大单元整体教学设计[2022课标].pdf
- 移动集团HCIP-云售前解决方案高级工程师培训认证题库.docx
- 印刷行业样品承认书.pdf VIP
- 标准图集-北京市房屋建筑抗震节能综合改造图集 柱、圈梁、钢拉杆加固分册.pdf VIP
- 采购项目质量保证措施.docx VIP
- 2021健康照护师复习题库【附答案】.docx
文档评论(0)