Java从0开始(16)(IO)

File类

java.io.File类: 文件和文件目录路径的抽象表示形式,与平台无关

  • 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
  • File对象可以作为参数传递给流的构造器。

常用构造器

  • public File(String pathname)
    以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。
    绝对路径: 是一个固定的路径,从盘符开始
    相对路径: 是相对于某个位置开始
  • public File(String parent,String child)
    以parent为父路径, child为子路径创建File对象。
  • public File(File parent,String child)
    根据一个父File对象和子文件路径创建File对象

常用方法

在这里插入图片描述

File 类的使用

File dir1 = new File("D:/IOTest/dir1");
if (!dir1.exists()) { // 如果D:/IOTest/dir1不存在,就创建为目录
    dir1.mkdir();
}
// 创建以dir1为父目录,名为"dir2"的File对象
File dir2 = new File(dir1, "dir2");
if (!dir2.exists()) { // 如果还不存在,就创建为目录
    dir2.mkdirs();
}
File dir4 = new File(dir1, "dir3/dir4");
if (!dir4.exists()) {
    dir4.mkdirs();
}
// 创建以dir2为父目录,名为"test.txt"的File对象
File file = new File(dir2, "test.txt");
if (!file.exists()) { // 如果还不存在,就创建为文件
    file.createNewFile();
}

Java IO原理

  • I/O是Input/Output的缩写, I/O技术是非常实用的技术, 用于处理设备之间的数据传输。 如读/写文件,网络通讯等。
  • 输入input: 读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。
  • 输出output: 将程序(内存)数据输出到磁盘、光盘等存储设备中。

流的分类

在这里插入图片描述

  • 按操作数据单位不同分为: 字节流(8 bit),字符流(16 bit)
  • 按数据流的流向不同分为: 输入流,输出流
  • 按流的角色的不同分为: 节点流,处理流
    在这里插入图片描述

InputStream & Reader

InputStream 和 Reader 是所有输入流的基类。

  • inputStream(典型实现: FileInputStream)
    int read()
    int read(byte[] b)
    int read(byte[] b, int off, int len)
  • Reader(典型实现: FileReader)
    int read()
    int read(char [] c)
    int read(char [] c, int off, int len)

OutputStream & Writer

void write(int b/int c);
void write(byte[] b/char[] cbuf);
void write(byte[] b/char[] buff, int off, int len);
void flush();
void close(); 需要先刷新,再关闭此流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值