字节流
前言:大家有没有想过我们平时看的视频,
音频,图片都是以什么形式存储的.它们是什么形式存储的呢?
字节流 又分两种一个是 输出 一个为 输入 下面是所有输出输入流 的顶级父类。
字节输出流:OutputStream
字节输入流:InputStream
FileOutputStrean类(输出类)
输出流的子类 FileOutputStream
类 为一个文件输出流.
close方法:关闭此流的释放的资源,别浪费内存了哦。
write方法(有三种用法) 下面我给大家演示一下:
package com.kjzz.pojo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class day1 {
public static void main(String[] args) throws IOException {
// a
File file = new File("A.txt");
FileOutputStream fos = new FileOutputStream(file);
// 第一种 写出数据
fos.write(97); // a
fos.write(98); // b
// 关闭资源
fos.close();
// b
FileOutputStream fo= new FileOutputStream("B.txt");
// 第二种 字节数组
byte [] b = "可否思否".getBytes();
fo.write(b); // 可否思否
// 关闭资源
fo.close();
// c
// 使用文件名称创建流对象
FileOutputStream f = new FileOutputStream("C.txt");
byte [] c = "abQAQ".getBytes();
// 第三种 选择字节数组di2个下标后面三个数
f.write(c,2,3); // QAQ
// 关闭资源
f.close();
}
}
总结:1.流操作完毕记得用 close方法 释放系统内存。2. write 第三种用法第2个是下标 第3个是选择后面几位数。
FileOutStream数据是否追写 + 换行操作怎么使用。
1.是否追加使用就是在FileOutStream后加上 false(默认)ture(追加)。
2.换行操作在 Windows系统中 \r\n
是换行.
import java.io.FileOutputStream;
import java.io.IOException;
public class day2 {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("AA.txt",true);
byte [] b = "abc".getBytes();
fos.write(b);
fos.write("\r\n".getBytes());
// 关闭资源
fos.close();
}
}
输出结果:
abc(注意换行)
abc(二次运行)
abc(三次运行)
FileInputStream类(输入类)
是一个文件输入流, 文件中读取字节。
他的方法:
read :字节数组读取数据
import java.io.FileInputStream;
import java.io.IOException;
public class day3 {
public static void main(String[] args) {
try {
// 文件名创建 流对象
FileInputStream fis= new FileInputStream("BB.txt");
// 定义变量 作为一个有效单位 0
int len;
// 选择单位
byte [] b = new byte [2];
while ( (len = fis.read(b)) != -1 ) {
System.out.println(new String(b,0,len));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
输出结果:
ab
cd
e
总结:选择一个0的常量 和 使用while循环。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。