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 类读方法