java学习之IO字节流

来源:互联网 发布:极度寒冷知乎 编辑:程序博客网 时间:2024/05/21 07:14
IO流用来处理设备之间的数据传输
上传文件和下载文件
Java对数据的操作是通过流的方式
Java用于操作流的对象都在IO包中

分类:
A:流向
输入流 读取数据
输出流 写出数据
B:数据类型
字节流
字节输入流  InputStream
字节输出流  OutputStreamWriter
字符流
字符输入流  Writer
字符输出流  Reader
注意:
a:如果我们没有明确说明按照什么分,默认按照数据类型分。
b:除非文件用windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流

创建字节输出流对象做了哪些事情?
A:调用系统功能去创建文件,注意,和File类不一样,FileOutputStream fos=new FileOutputStream("fos.txt")在没有文件时,会自动创建,
而File file=new File("aaa.txt")只是定义了一个抽象路径,需要通过该对象调用createNewFile去创建文件
B:创建fos对象
C:把fos对象指向这个文件


为什么一定要close()方法?
A:让流对象变成垃圾,这样就可以被垃圾回收器回收了
B:通知系统去释放跟该文件相关的资源


字节输出流操作步骤:
A:创建字节输出流对象
B:写数据
C:释放资源

字节流写数据的方式:
lpublic void write(intb):写一个字节
lpublic void write(byte[] b):写一个字节数组
lpublic void write(byte[]b,intoff,intlen):写一个字节数组的一部分


如何实现数据的换行?
fos.write("\n".getBytes()),但是不同系统针对不同的换行符号识别是不一样的。
Windows:\r\n
Linux:\n
Mac:\r

如何实现数据的追加写入?
new FileOutputStream(File file,boolean flag).
通过构造方法,带true的实现追加写入。


字节输入流操作步骤:
A:创建字节输入流对象
B:调用read()方法读取数据,并把数据显示在控制台
C:释放资源
读取数据的方式:
int read():一次读取一个字节
int read(byte[] b):一次读取一个字节数组,返回值是实际读取的个数



0 0
原创粉丝点击