author:onceday date:2022年5月18日
文章目录- Java之IO输入输出
- 1. 输入/输出流
- 1.1 输入流 InputStream类
- 1.2 输入流 Reader类
- 1.3 输出流 OutputStream类
- 1.4 输出流 Writer类
- 2. File类
- 2.1 文件对象的创建方法
- 2.2 文件对象的操作
- 2.3 文件夹操作
- 注:本内容收集整理于互联网,仅供学习交流之用!
- InputStream类,字节输入流的抽象类,是所有字节输入流的父类
InputStream类中所有的方法遇到错误都会引发IOException异常。
| 方法 | 返回值 | 说明 |
|---|---|---|
| read() | int | 读取一个字节,返回0-255范围内的int字节值,如果到达末尾,则返回-1 |
| read(byte[] b) | int | 从输入流中读入一定长度的字节,并返回字节数 |
| mark(int readlimit) | void | 在输入流的当前位置放置一个标记,readlimit参数告知此输入流在标记位置失效之前允许读取的字节数 |
| reset() | void | 将输入指针返回到当前所做的标记处 |
| skip(long n) | long | 跳过输入流上的n个字节并返回实际跳过的字节数 |
| markSupported | boolean | 如果当前流支持mark()/reset()操作就返回True。 |
| close() | void | 关闭此输入流并释放与该流关联的所有系统资源 |
java中的字符是Unicode编码,是双字节的。其方法与InputStream类中的方法类似,需要注意的是,Reader类的read()方法的参数为char类型的数组。
1.3 输出流 OutputStream类OutPutStream类中的所有方法均没有返回值,在遇到错误时会引发IOException,常用方法及说明如下。
| 方法 | 说明 |
|---|---|
| write(int b) | 将指定的字节写入此输出流 |
| write(byte[] b) | 将b个字节从指定的byte数组写入此输出流 |
| write(byte[] b,int off,int len) | 将指定byte数组从偏移量off开始的len个字节写入到此输出流 |
| flush() | 彻底完成输出并且清空缓冲区 |
| close() | 关闭输出流 |
字符输出流的抽象类,是所有字符输出流的父类。
| 方法 | 说明 |
|---|---|
| append(char c) | 将指定的字符添加到writer |
| append(CharSequence csq) | 将指定字符序列添加到此writer |
| append(CharSequence csq,int start,int end) | 将指定字符序列的子序列添加到此 |
| close() | 关闭此流,但要先刷新它 |
| flush() | 刷新该流的缓冲 |
| write(char[] cbuf) | 写入字符数组 |
| write(char[] cbuf,int off,int len) | 写入字符数组的某一部分 |
| write(int c) | 写入单个字符 |
| write(String str) | 写入字符串 |
| write(String str,int off,int len) | 写入字符串的某一部分 |
File file = new File("D:/1.txt");
File file = new File("D:/doc/","1.txt");
File folder = new File("D:/doc/");
File file = new File(folder,"1.txt");
2.2 文件对象的操作
| 方法 | 返回值 | 说明 |
|---|---|---|
| canRead() | boolean | 判断文件是否可读 |
| canWrite() | boolean | 判断文件是否可以被写入 |
| createNewFile | File | 只有在不存在具有指定名称的文件时,创建一个新文件 |
| createTempFile(String prefix,String suffix) | File | 在默认临时文件夹中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称 |
| createTempFile(String prefix,String suffix,File directory) | File | 在指定文件夹中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称 |
| delete() | boolean | 删除指定的文件或文件夹 |
| exists() | boolean | 测试指定的文件或文件夹是否存在 |
| getAbsoluteFile() | File | 返回抽象路径名的绝对路径名形式 |
| getAbsolutePath() | String | 获取文件的绝对路径 |
| getName() | String | 获取文件或文件夹的名称 |
| getParent() | String | 获取文件的父路径 |
| getPath() | String | 获取路径名字符串 |
| getFreeSpace() | long | 返回此抽象路径 |
| getTotalSpace() | long | 返回此抽象路径名指定的分区大小 |
| length() | long | 获取文件的长度 |
| isFile() | boolean | 判断是不是文件 |
| isHidden() | boolean | 判断文件是否是隐藏文件 |
| lastModified | long | 获取文件最后修改时间 |
| renameTo(File dest) | boolean | 重新命名文件 |
| setLastModified(long time) | boolean | 设置文件或文件夹的最后一次修改时间 |
| setReadOnly() | boolean | 将文件或文件夹设置为只读 |
| toURI() | URI | 构造表示此抽象路径名的file:URI |
| 方法 | 返回值 | 说明 |
|---|---|---|
| isDirectory() | boolean | 判断是不是文件夹 |
| list() | String[] | 返回字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 |
| list(FilenameFilter filter) | String[] | 返回字符串数组,包含文件和目录,但需要满足过滤条件。 |
| listFiles() | File[] | 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。 |
| listFiles(FileFilter filter) | File[] | 返回抽象路径名数组,包含文件和目录,需要满足过滤条件。 |
| listFiles(FilenameFilter filter) | File[] | 返回抽象路径名数组,包含文件和目录,需要满足过滤条件。 |
| mkdir() | boolean | 创建此抽象路径名指定的目录 |
| mkdirs() | boolean | 创建此抽象路径名指定的目录,包含所有必需但不存在的父目录。 |



