黑马程序员——Java基础-IO流
来源:互联网 发布:seo 刷关键词排名工具 编辑:程序博客网 时间:2024/06/15 17:35
------- android培训、java培训、期待与您交流! ----------
Java中的io流
形象的理解可以类比水流,Java中io流是输送数据的方式。从不同角度进行分类有
1、根据数据流方向不同可以分为输入流(InputStream、Reader)、输出流(OutputStream、Writer)
2、根据数据流单位不同可以分为字节流(InputStream、OutputStream)、字符流(Reader、Writer)。
3、根据是否使用缓冲技术可以分为节点流(InputStream、OutputStream、Reader、Writer)、处理流(BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter)
流的操作规律
最痛苦的就是流对象有很多,不知道该用哪个
通过三个明确来完成
1、明确源和目的
源:输入流,InputStream、Reader
目的:输出流,OutputStream、Writer
2、操作的数据是否是纯文本
是:字符流Reader、Writer
不是:字节流 InputStream、OutputStream
3、当体系明确后,再明确要使用哪个具体的对象
通过设备来进行区分
源设备
键盘 system.in 硬盘 File 内存 ByteArrayInputStream
目的设备
控制台 system.out 硬盘 File 内存 ByteArrayOutputStream
4、最后一般都加入缓冲技术转变为处理流,主要是避免频繁访问硬盘提高数据访问效率。处理流中的字节处理流(BufferedInputStream、BufferedOutputStream)较少用,通过转换方法可以使得字节流和字符流之间能相互转化,InputStreamReader是字节流向字符流转换的桥梁,OutputStreamWriter是字符流转换成字节流的桥梁。
IO流练习代码
import java.io.*;class TransStream{ public static void main(String[] args)throws IOException { //定义获取键盘输入对象 InputStream in=System.in; //将获取键盘输入对象转换成字符流对象 InputStreamReader isr=new InputStreamReader(in); //定义字符流对象的缓冲区 BufferedReader bufr=new BufferedReader(isr); //BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));//以上三句合成一句 BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));//新建处理流对象,简化书写 String line=null; while((line=bufr.readLine())!=null)//获取键盘输入 { if(line.equals("over"))//自定义输入结束标志 break; bufw.write(line.toUpperCase());//将输入字符转换为大写输出 bufw.newLine();//输出换行 bufw.flush();//把缓冲区的内容刷出来 } bufr.close();//关闭输入流 bufw.close();//关闭输出流 }}
- 黑马程序员——Java基础---IO
- 黑马程序员——java基础--IO
- 黑马程序员——Java基础---IO
- 黑马程序员 Java基础——IO
- 黑马程序员—Java基础—IO
- 黑马程序员——java基础——IO流
- 黑马程序员——Java基础——IO流
- 黑马程序员——Java基础——IO流
- 黑马程序员——java基础——IO流
- 黑马程序员——Java基础——IO流
- 黑马程序员——JAVA基础——IO流
- 黑马程序员——java基础——IO流
- 黑马程序员——JAVA基础——IO流
- 黑马程序员——Java基础---IO流(字符流)
- 黑马程序员——Java基础---IO流(字节流)
- 黑马程序员——Java基础—IO流
- 黑马程序员——Java基础—IO流(File)
- 黑马程序员——java基础之IO流
- HDU 1222 Wolf and Rabbit 幸存的兔子
- [leetcode 80, Medium] Remove Duplicates from Sorted Array II
- 关于C/C++中内存分配与释放的疑惑?
- crossApp初级-CAIamgeView-6
- poj 2031 Building a Space Station
- 黑马程序员——Java基础-IO流
- 服务器的响应数据
- MySQL-5.6.25数据库免安装配置
- 熄灯问题(百练2811)
- JavaWeb学习笔记:第一个 WEB 应用程序
- DOS 批处理 知识点 MFC
- 编写spring配置文件时,不能出现帮助信息
- Leetcode 64(Minimum Path Sum)
- Ubuntu15.04 删除/sbin/upstart与孤儿进程收养的问题