--- 文件IO java ---
文本文件和二进制文件
文件再底层其实就是以一段二进制数据的形式储存的,当我用记事本打开文件时,有些文件会出现乱码,这就是二进制文件,而有一些文件是特殊的,他以特定的编码方式(比如ascll)可以翻译为可阅读的信息,那就是文本文件 还有富文本类型,他不仅仅只储存文本内容,他还可以储存图片,字体颜色,字体大小等等多种信息
打开一个图片 zhe'jiu'shi
在Java中对文件的操作的方法
File类
创建一个File对象
传入file中的参数是文件所指的地址 这样写的话就是表示在相对路径下有个文件叫做book.txt
这就涉及到俩个名词 相对路径和绝对路径了
绝对路径:从根目录开始的逐级表示出来的唯一指向一个文件的路径
C:\Users\15328\OneDrive\桌面\files\gitee\add-bricks-and-tiles\class-java 这就是一个绝对路径
相对路径:根据你打开方式的不同他所指向的位置是不同的,具体的位置是取决于你这个项目所在的位置,他指向的就是这个项目的父目录的路径
比如上面的这个的相对路径
这里我打印了这个文件所在的位置
这是我项目所在的位置
可以看到 book.text是存在的位置是和项目所在的位置是有相同的父目录 这时的基准目录就是
C:\Users\15328\OneDrive\桌面\files\gitee\add-bricks-and-tiles\class-java\fileIO\
对路径的操作符
./ 和 ../
./XXX 表示再当前基准路上有个XXX文件
假设基准路径是C:\hh 那么.\text.txt 指的位置就是C:\hh\text.txt
../ 表示的是基准路径的上一级
../text.txt 表示位置的就是 C:\text.txt
如果要表示的是向上多层的路径的话是使用 ../../../这样的形式 一次../ 表示向上一层
对于类方法的使用
getPath() String | 返回文件的相对路径 |
getAbsolutePath() String | 返回文件的绝对路径 |
exists() String | 判断该文件或目录是否存在 |
getName() String | 返回文件的名字 |
isFile() boolean | 判断是否为文件 |
isDirectory() boolean | 判断是否为目录 |
createNewFile() boolean | 创建一个新的文件,会抛出RuntimeException 异常 |
mkdir() boolean | 创建一个目录,如果这个指向这个目录的父目录不存在,那么就会创建失败 |
mkdirs() boolean | 创建一个目录,不过如果父目录不存在的话,那么他就会把父目录也跟着一起创建了 比如 C:\aa\bb\cc 我在创建cc目录时 不存在C:\aa\bb这条路径那么就会把这条路径也给我创建好 |
delete() boolean | 删除该文件 |
renameTo(File file1) boolean | 相当于是剪切操作,创建这个传入的file1文件,再将当前的file对象复制到传入的file中,这是file1也就值得是之前的file文件,并删除file对象的这个文件,这是文件是不存在得了,但是file对这个路劲的引用依然存在,所以还是可以看到file的路径 |
list() String[] | 返回一个字符数组,是该目录下的所有的文件的名字 |
list() File[] | 返回一个文件数组,包含该目录下的所有文件 |
canRead() boolea | 是否具有可读权限 |
canWrite() boolean | 是否具有可写权限 |
下一篇 流
END