IO大串烧!!绝对经典.值得收藏!!

java.io.*;

前站:java.io.File

构造方法:
new File(String 完整路径) 路径:绝对路径 相对路径
new File(String 父目录,String 文件名)
new File(File 父目录对象,String 文件名)

特等优先级:
static File[] listRoots() : 列出当前计算机的所有根目录
String[] list() : 返回的是一个目录当中所有的文件名字(目录名字)
File[] listFiles() : 返回一个目录当中所有文件(目录)对象
*:第一个静态方法不需要对象调用 后两个方法都必须是目录!

一等优先级:
exists() : 判断File对象指代的文件或者目录是否存在
isFile() : 判断File对象指代的是不是一个文件
isDirectory() : 判断File对象指代的是不是一个目录
length() : 得到文件的字节个数(文件大小)
delete() : 删除文件或者目录(如果是目录则必须是空的)
mkdirs() : 创建多层不存在的目录结构
renameTo() : 重命名文件或者目录(a.renameTo(c)) a必须存在 c必须不存在
getName() : 得到文件或者目录的名字
getParent() : 得到文件的父目录
getAbsolutePath() : 得到文件或者目录的绝对路径
setLastModified() : 设置文件的最后一次修改时间
lastModified() : 得到文件的最后一次修改时间
*:java.util.Date
*:java.util.Calendar
*:java.text.SimpleDateFormat

文件属性过滤器: FileFilter
public boolean accept(File file){

}

File[] fs = dir.listFiles(提供过滤器对象);

递归遍历: 重点在于找到每一个目录之后 都要再次调用这个方法!

然后大战才真正上演:
类名: 根本目的 核心方法
InputStream 所有字节输入流的父类 = 抽象类 read(byte[])
OutputStream 所有字节输出流的父类 = 抽象类 write(byte[],int,int)
FileInputStream 用于完成文件内容的读取(所有文件) read(byte[])
FileOutputStream 用于完成文件内容的写出(所有文件) write(byte[],int,int)
BufferedInputStream 为输入流提供缓冲从而效率更高 read(byte[])
BufferedOutputStream为输出流提供缓冲从而效率更高 write(byte[],int,int)
DataInputStream 让输入流能够读取基本数据类型 readXxxx()
DataOutputStream 让输出流能够写出基本数据类型 writeXxxx()
ObjectInputStream 让输入流能够读取对象 readObject()
ObjectOutputStream 让输出流能够写出对象 writeObject()
Reader 所有字符输入流的父类 = 抽象类 read(char[])
Writer 所有字符输出流的父类 = 抽象类 write(char[],int,int)
FileReader 用于完成文件内容的读取(文本文件) read(char[])
FileWriter 用于完成文件内容的写出(文本文件) write(char[],int,int)
BufferedReader 为输入流提供缓冲从而一行一行读取 String readLine()
BufferedWriter 为输出流提供缓冲从而一行一行写出 write(String) + newLine()
PrintStream 强大的输出流 字节为单位 print() println()
PrintWriter 强大的输出流 字符为单位 print() println()
InputStreamReader 桥转换器 将字节流变成字符流 构造方法
OutputStreamWriter 桥转换器 将字节流变成字符流 构造方法
RandomAccessFile 可以设置目标文件大小 setLength()
**所有的节点输出流都可以指定追加模式

*:那必须要会的8般武艺
1.复制文件 用大数组不用缓冲 *
2.复制文件 用缓冲不许用数组 *
3.将一个基本数据类型写出到文件 *
4.从文件当中读取一个基本数据类型 *
5.将一个对象写出到文件中(注意序列化) *
6.将一个对象从文件中读取回来 *
7.以行为单位的读取文本文件 *
8.以行为单位的写出文本文件 *

*:你要开始尝试着进行异常处理了!别整天throws TWR
try(){

}catch(Exception e){
    e.printStackTrace();
}

*:你要时刻准备着用nio2震撼你组里的其他选手 毕竟一行秒杀一大段
Files.copy(Paths.get(“源文件”),Paths.get(“目标文件”))
Files.move(Paths.get(“源文件”),Paths.get(“目标文件”))
List list = Files.readAllLines(Paths.get(“文件名.txt”),Charset.forName(“GBK”));

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值