前提需求: 读写文件内部的内容,上传,下载
IO流: 管道 数据以先入先出的方式进行流动
数据源--数据-->目的地
io包: 一系列io相关类 File...
流的分类: 按照流向分: 输入流 输出流 (以大脑为中心,以程序为中心,明确数据源和目的地,能够确定输入还是输出) 按照操作单元分; 字节流 : 万能流,任意内容都能转为字节 字符流 : 只能传输纯文本的内容 按照功能分: 节点流 : 真实做读入写出的流 功能流 : 增强节点流的功能,加强性能
分类之间是相辅相成的
字节流: 字节输入流 InputStream 文件字节输入流 FileInputStream 功能: 节点流 流向分:输入流 操作单元:字节流 功能: 读入read() 关闭close
字节输出流 OutputStream
public class Class001_IO {
public static void main(String[] args) throws IOException {
//FileInputStream(File file) 通过打开与实际文件的连接来创建 FileInputStream ,该文件由文件系统中的 File对象 file命名。
File src = new File("D://test2.txt"); //数据源
//创建流
InputStream is = new FileInputStream(src);
//读入数据 int read() 从此输入流中读取一个字节的数据。 读到文件末尾返回-1
int num = is.read();
//处理数据
System.out.println((char)num);
System.out.println((char)(is.read()));
System.out.println((char)(is.read()));
System.out.println(is.read());
//关闭流
is.close();
}
}
read() 从此输入流中读取一个字节的数据。 读到文件末尾返回-1 每次读取一个字节,重复通过循环读入,可以简化代码结构
public class Class002_IO {
public static void main(String[] args) throws IOException {
//创建流
//FileInputStream (String name) 通过打开与实际文件的连接来创建 FileInputStream ,该文件由文件系统中的路径名 name命名。
InputStream is = new FileInputStream("D://tes