流
概念:
用来传输数据的管道
作用:
传输数据
从别地方的的数据,文件,内存等传输到程序中
或者
将程序中的数据传输到别的地方
分类
按照流向分类:
输入流: 将数据从别的地方传输给程序
输出流: 将程序中的数据 传输给别的地方
按照传输的最小数据单位来分类:
字节流:
传输的最小单位就是byte
注意:它可以传输任何数据
字符流:
传输的最小单位就是字符char
注意:它只能传输文本内容,不能传输视频,音频,图片等
按照功能来分类
节点流: 不会对数据进行加工
过滤流: 会对数据进行加工
字节流:
体系
InputStream 是所有输入流的父类
OutputStream 是所有输出流的父类
常用子类
文件字节流:
作用:
将程序中的数据传输给文件
或者
将文件中的数据传输给文件
FileInputStream: 将文件中的数据传输给程序
FileOutputStream: 将程序中的数据传输给文件
内存字节流
缓冲流
对象流
InputStream 提供的方法:
int read()
读取一个字节的数据,返回值就是数据读取到的数据
int read(byte[] b)
读取一组数据到b 中,返回值就是读取到数据的长度
int read(byte[] b , int off ,int len)
读取一组数据到b 中去,开始位置为off , 数据个数为 len
void close()
关闭流
OutputStream 提供的方法:
void write(int b)
输出一个字节的数据,参数就是输出数据
void write(byte[] b)
输出一组字节数据,参数就是输出的内容
void write(byte[] b , int off ,int len)
将数据b 中的数据从 off 开始向外输出len 个
void close()
关闭流
拷贝文件
public static void main(String[] args) throws IOException {
/*
* 对文件的拷贝
* 1.将文件中的内容利用输入流输入到程序中
* 2.将程序中的内容在利用输出流写入到文件中
*/
FileInputStream inputStream = new FileInputStream("D:\\桌面\\Day06.txt");
FileOutputStream outputStream = new FileOutputStream("D:\\拷贝作业.txt" , false);
byte[] b = new byte[1024];
int len = 0;
while ((len = inputStream.read(b)) != -1) {
String string = new String(b, 0, len);
byte[] bytes = string.getBytes();
outputStream.write(bytes);
}
inputStream.close();
outputStream.flush();
outputStream.close();
System.out.println("OVER");
}
/*
* file 类
* 1.createNewFile() // 创建一个新的文件
* 2.MKdir() //创建一个新目录 MKdirs() 多级文件夹
* 3.Delete() //删除一个文件 或者 空目录
* 4.Exists() //判断file对象所代表的对象是否存在
* 5.getAbsolutePath() //获取文件的据对路径
* 6.getName() //获取文件名字
* 7.getParent() //获取文件或者目录所在的目录
* 8.isDerectory() //是否是目录
* 9.isFile() //是否是文件
* 10.length() //获取长度
* 11.listFiles() //列出目录中所有内容
* 12.renameTo() //修改文件名为
*/
public class Demon04 {
public static void main(String[] args) {
File file = new File("F:\\JavaEE2205class\\资料\\html\\Day05\\视频");
File[] listFiles = file.listFiles();
for (File file2 : listFiles) {
System.out.println(file2);
}
String name = file.getName();
System.out.println(name + "555");
// boolean mkdir = file.mkdir();
long length = file.length();
System.out.println(length);
}
public void bl() {
File file = new File("D:\\");
file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.getName().endsWith("txt")) {
return true;
}
return false;
}
});
}
}