File类
方法名 | 描述 |
---|---|
public String getAbsolutePath() | 获取绝对路径 |
public String getPath() | 获取路径 |
public String getName() | 获取名称 |
public String getParent() | 获取上层文件目录路径。若无,返回null |
public long length() | 获取文件长度(即:字节数)。不能获取目录的长度。 |
public long lastModified() | 获取最后一次的修改时间,毫秒值 |
public String[] list() | 获取指定目录下的所有文件或者文件目录的名称数组 |
public File[] listFiles() | 获取指定目录下的所有文件或者文件目录的File数组 |
public boolean renameTo(File dest) | 把文件重命名为指定的文件路径 |
public boolean isDirectory() | 判断是否是文件目录 |
public boolean isFile() | 判断是否是文件 |
public boolean exists() | 判断是否存在 |
public boolean canRead() | 判断是否可读 |
public boolean canWrite() | 判断是否可写 |
public boolean isHidden() | 判断是否隐藏 |
public boolean createNewFile() | 创建文件。若文件存在,则不创建,返回false |
public boolean mkdir() | 创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。 |
public boolean mkdirs() | 创建文件目录。如果上层文件目录不存在,一并创建 |
public boolean delete() | 删除文件或者文件夹 删除注意事项:Java中的删除不走回收站。要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录 |
流的分类
IO流体系
InputStream
方法名 | 描述 |
---|---|
int read() | 从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。 |
int read(byte[] b) | 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。否则以整数形式返回实际读取的字节数。 |
int read(byte[] b, int off,int len) | 将输入流中最多 len 个数据字节读入 byte 数组。尝试读取 len 个字节,但读取的字节也可能小于该值。以整数形式返回实际读取的字节数。如果因为流位于文件末尾而没有可用的字节,则返回值 -1。 |
public void close() throws IOException | 关闭此输入流并释放与该流关联的所有系统资源。 |
Reader
方法名 | 描述 |
---|---|
int read() | 读取单个字符。作为整数读取的字符,范围在 0 到 65535 之间 (0x00-0xffff)(2个字节的Unicode码),如果已到达流的末尾,则返回 -1 |
int read(char[] cbuf) | 将字符读入数组。如果已到达流的末尾,则返回 -1。否则返回本次读取的字符数。 |
int read(char[] cbuf,int off,int len) | 将字符读入数组的某一部分。存到数组cbuf中,从off处开始存储,最多读len个字符。如果已到达流的末尾,则返回 -1。否则返回本次读取的字符数。 |
public void close() throws IOException | 关闭此输入流并释放与该流关联的所有系统资源。 |
OutputStream
方法名 | 描述 |
---|---|
void write(int b) | 将指定的字节写入此输出流。write 的常规协定是:向输出流写入一个字节。要写入的字节是参数 b 的八个低位。b 的 24 个高位将被忽略。 即写入0~255范围的。 |
void write(byte[] b) | 将 b.length 个字节从指定的 byte 数组写入此输出流。write(b) 的常规协定是:应该与调用 write(b, 0, b.length) 的效果完全相同。 |
void write(byte[] b,int off,int len) | 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。 |
public void flush()throws IOException | 刷新此输出流并强制写出所有缓冲的输出字节,调用此方法指示应将这些字节立即写入它们预期的目标。 |
public void close() throws IOException | 关闭此输出流并释放与该流关联的所有系统资源。 |
Writer
方法名 | 描述 |
---|---|
void write(int c) | 写入单个字符。要写入的字符包含在给定整数值的 16 个低位中,16 高位被忽略。 即写入0 到 65535 之间的Unicode码。 |
void write(char[] cbuf) | 写入字符数组。 |
void write(char[] cbuf,int off,int len) | 写入字符数组的某一部分。从off开始,写入len个字符 |
void write(String str) | 写入字符串。 |
void write(String str,int off,int len) | 写入字符串的某一部分。 |
void flush() | 刷新该流的缓冲,则立即将它们写入预期目标。 |
public void close() throws IOException | 关闭此输出流并释放与该流关联的所有系统资源。 |
//1.建立一个流对象,将已存在的一个文件加载进流。
FileReader fr = new FileReader(new File(“Test.txt”));
//2.创建一个临时存放数据的数组。
char[] ch = new char[1024];
//3.调用流对象的读取方法将流中的数据读入到数组中。
fr.read(ch);
//4. 关闭资源。
fr.close();
缓冲流
转换流
InputStreamReader
OutputStreamWriter
对象流与对象的序列化
ObjectInputStream和OjbectOutputSteam
序列化:用ObjectOutputStream类保存基本类型数据或对象的机制
反序列化:用ObjectInputStream类读取基本类型数据或对象的机制
ObjectOutputStream和ObjectInputStream不能序列化static和transient修饰的成员变量
对象的序列化
Path
Path path = Paths.get("index.html");
Files