Java学习之字节流及字节高效流

来源:互联网 发布:网络拓扑设计文档 编辑:程序博客网 时间:2024/06/05 09:09

一、I/O流的分类

按流向分:

输入流

输出流

按数据类型分:

字节流:

字节输入流  InputStream(抽象类)

字节输出流 OutputStream(抽象类)

字符流:

字符输入流  Reader

字符输出流 Writer

注意:I/O默认按照数据类型分类

二、读写数据


三、字节流

1、往文件中写入数据步骤:

(1)创建字节输出流对象
字节输出流 OutputStream为抽象类,所以要创建对象的话就要使用其子类FileOutputStream
(2)调用写数据的方法
(3)释放资源

2、FileOutputStream构造方法

FileOutputStream(File file)
FileOutputStream(String name)
package com.edu.io;import java.io.FileOutputStream;import java.io.IOException;public class FileDemo {public static void main(String[] args) throws IOException {/*创建字节输出对象这个操作做了两件事(1)创建了一个文件输出流fos,指向文件a.txt(2)创建了a.txt这个文件*/FileOutputStream fos = new FileOutputStream("c.txt");//创建字节数组String s = "hellojava";byte[] bytes = s.getBytes();fos.write(bytes);//关闭流关闭流之后就无法再对这个字节流进行操作fos.close();}}

3、FileOutputStream写数据的方法

write(byte[] b) 
write(int b) :一次写一个字节
write(byte[] b, int off, int len) :一次写一个字节数组的一部分

4.字节输入流

操作步骤:
创建字节输入流对象
调用方法读取数据
释放资源
package com.edu.io;import java.io.FileInputStream;import java.io.IOException;public class FileDemo2 {public static void main(String[] args) throws IOException {//创建字节输入流对象FileInputStream file = new FileInputStream("a.txt");//调用方法读取数据int  len;while ((len=file.read())!=-1) {//读取的时候读出来的实际是这些字符对应的ASCII值,所以要是用强转转换成字符型System.out.println((char)len);}//关流file.close();}}

5、将一个文本中内容复制到另一个文本中

package com.edu.io;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * A:把a.txt的内容复制到b.txt中 *  * */public class FileCopyDemo {public static void main(String[] args) throws IOException {//a.txt为目标源,b.txt为目的地FileInputStream fis = new FileInputStream("a.txt");FileOutputStream fos = new FileOutputStream("b.txt");//复制数据byte[] bys = new byte[1024];int len;while ((len=fis.read(bys))!=-1) {fos.write(bys, 0, len);}//释放资源fos.close();fis.close();
:高效字节流一次读写一个字节数组

}}

6、字节缓冲区流(也叫高效流)

BufferedInputStream(InputStream in)
方法:
read() 一次读取一个字节,
read(byte[] b,int off,int len); 返回实际读取长度,数据被读取到数组中。
BufferedOutputStream(OutputStream out)
方法:write(byte[] b,int off,int len)

7、流

低级流: 基本的流,可以直接操作文件。
高级流:是操作基本流的流。




 




0 0
原创粉丝点击