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
- Java学习之字节流及字节高效流
- java 字节流与高效字节流的区别
- 【字节流,高效流】
- Java之字节流、字节缓冲流
- [学习笔记]Java IO之字节流
- java学习之IO字节流
- [学习笔记]Java IO之字节流
- Java基础-IO学习之字节流
- Java IO之字节流
- Java IO之字节流
- Java IO之字节流
- Java IO 之字节流
- JAVA之字节缓冲流
- Java之字节缓冲流
- Java复习之字节流
- Java IO之字节流
- Java IO之字节流
- java IO 之 字节流
- Problem : 平面上的点和线——Point类、Line类 (II)
- 关于破解myeclipse2014时run.bat打不开的问题
- Navigation View--抽屉式布局
- 记录一下css常用但总记不住的属性~哈哈
- CocoaPods使用
- Java学习之字节流及字节高效流
- 对数据结构一点一小小的理解(二)——算法分析部分
- 熔断器设计模式
- C/C++_log2000_windows编程之第一个控制台程序项目part2
- java根据出生日期和当前时间计算年龄
- ZCMU—1676
- MyBatis中<resultMap>的<association>和<collection>标签的使用
- python3 二叉树遍历
- Hadoop项目实战-用户行为分析之编码实践