File 类
- 创建、删除、重命名文件等操作;
- 获取目录、文件长度、文件读写权限等。
文件创建、删除
1.File(String path)
File file = new File(String path);
2.File(String parent, String child)
File file = new File("D:/doc/", "readme.txt");
3.File(File f, String child)
File f = new File("D:/doc/");
File file = new File(f, "readme.txt");
File file = new File(path);
if(file.exits()){
file.delete();
}else{
file.createNewFile();
}
File file = new File(String path);
file.delete();
一些方法
| 方法 | 返回值 | 说明 |
|---|
| getName() | String | 文件名称 |
| getPath() | String | 获取路径 |
| length() | long | 文件长度(字节为单位) |
| getAbsolutePath() | String | 文件绝对路径 |
| getParent() | String | 文件父路径 |
| getParentFile() | File | 父文件对象 |
| lastModified() | long | 文件最后修改时间 |
| | |
| delete() | boolean | 删除 |
| renameTo(File dest) | boolean | 改名 |
| createNewFile() | boolean | 创建文件 |
| mkdir() | boolean | 创建路径 |
| mkdirs() | boolean | 创建多层目录 |
| | |
| list([FilenameFilter filter]) | String[] | []中参数可无;返回路径下所有文件路径。 |
| listFiles([FileFilter filter]) | File[] | |
| listFiles([FilenameFilter filter]) | File[] | |
| | |
| canRead() | boolean | 判断是否可读 |
| canWrite() | boolean | 判断是否可写 |
| canExcute() | boolean | 判断可执行否 |
| | |
| setExcutable(boolean excutable[, boolean ownerOnly]) | boolean | 设置可执行性 |
| setLastModified(long time) | boolean | 设置最后修改时间 |
| setReadOnly() | boolean | 设置为只读 |
| setReadable(boolean readable[, boolean ownerOnly]) | boolean | 设置读权限 |
| setWritable(boolean writable[, boolean ownerOnly]) | boolean | 设置写权限 |
| | |
| exits() | boolean | 判断是否存在 |
| isFile() | boolean | 判断文件是否存在 |
| isDirectory() | boolean | 判断是否为目录 |
| isHiden() | boolean | 判断是否为隐藏文件 |
文件输入、输出流
FileInputStream、FileOutStream- 分别继承
InputStream、OutputStream - 两个流的构造方法相同,
FileOutStream可以指定不存在的文件(创建它) - 处理的是
字节流
FileReader、FileWriter类
带缓存的输入、输出流
BufferedInputStream、BufferedOutputStream
构造方法
BufferedInputStream(InputStream in[, int size])BufferedOutputStream(InputStream in[, int size])
构造一个带size字节的缓存流(区),默认为32字节 |
flush()方法:在缓存区没有满的情况下,也将缓存区的内容强制写入到外设。【刷新】 只对使用缓存区的OutputStream类的子类有效。 使用close()方法时,系统关闭流之前,也会将缓存区的信息刷新到磁盘文件。 |
| 方法 | 说明 |
|---|
| read() | 读取单个字符 |
| readline() | 读取一文本行,返回字符串,无数据返回null |
| 方法 | 说明 |
|---|
| write(String s, int off, int len) | 写入字符串的一部分[off, off+len) |
| flush() | 刷新该流的缓存 |
| newLine() | 写入一个行分隔符 |
- 调用
write()方法时,并没有立即写入输出流,而是先进入缓存区中。想要立即将缓存区的数据写入输出流,应调用flush()方法。
数据输入、输出流
DataInputStream、DataOutputStream- 从底层输入流中读取基本Java数据类型。读取数据时,不必关心这个数值应当是哪种字节。
构造方法
DataInputStream(InputStream in)DataOutputStream(OutputStream out)
DataOutputStream 类写入方法
| 方法 | 说明 |
|---|
| writeBytes(String s) | 将字符串中每一个字符的低字节写入目标设备中 |
| writeChars(String s) | 将字符串中每一个字符的两个字节的内容都写到目标设备中 |
| writeUTF(String s) | 将字符串按照UTF编码后的字节长度写入目标设备,然后才是每一个字节的UTF编码。 |
DataInputStream 类读方法