一、文件
在计算机系统中,文件是一种基本的数据管理单位,它是存储在计算机存储介质上的信息集合,包括但不限于文本、图片等形式。
文件除了数据内容以外,还有一部分信息,如文件名、文件类型、文件大小等文件的元信息。
目录(文件夹)
目录是一种专门用来存放和管理信息的特殊文件,将文件按照层级结构进行组织——树形结构。
文件路径(Path)
绝对路径(absolute path):从根节点一直到达某一节点的路径描述。
相对路径(relative path):从当前节点到达某一节点的路径描述。
文件类型
根据保存数据的不同,我们可以将文件划分为文本文件和二进制文件,分别指代保存被字符集编码的文本和按照标准格式保存的非被字符集编码过的文件。
对于文本文件:
- 在UTF-8 编码中,一个英文字母用一个字节表示,一个汉字用三个字节表示。
- 在Unicode编码中,一个英文字母用一个字节表示,一个汉字用两个字节表示。
在Windows操作系统中,会按照文件名中的后缀来确定文件类型以及该类型文件的默认打开程序。但是在OSX、Unix、Linux等操作系统中没有这样的习惯。
权限
根据不同的用户,会赋予用户不同的对待该文件的权限,比如可读、可写、可执行权限。
二、文件操作——File类
Java中通过 java.io.File 类来对一个文件进行抽象的描述。但是,有File对象不代表真实存在该文件。File 类的实例是不可变的,也就是说,一旦创建,由File对象表示的抽象路径名永远不会改变。
1.属性
2.构造方法
三、文件内容的读写——数据流
字节流:InputStream、OutputStream
字符流:Reader、Writer
利用try with resources语法避免文件资源泄露
在 try 代码块结束的时候(无论是正常结束还是抛出异常),自动调用其中的close方法,但是要求写在()里的对象必须实现了Closeable接口。
java">try (Reader reader = new FileReder("d:/test.txt")) {while(true){char[] cbuf = new char[10];int n = reader.read(cbuf);if(n == -1) break;for(int i = 0; i < n; i++) {System.out.println(cbuf[i]);}}
}