"谦虚其心, 宏大其量 -- 摘自阳明先生语录"
前言
Java 中 File 类是 java.io 包中唯一代表磁盘文件本身的对象, 可以通过该类来操作系统上文件系统中的文件或目录.
可以获取如文件名, 文件所在目录, 文件的长度, 文件读写权限等, 但是不能通过 File 获取文件内容,
也就是说它只是抽象的代表了磁盘上的某个文件或目录, 内部实际上是依赖一个平台无关的本地文件系统类, 并且 File 无法对其所表示文件内容进行任何读写操作 (那是流做的事情).
File 类的构造方法:
File(String pathname): 根据路径名称构建 File 对象
File(String parent, String child): 根据父路径和子路径构建 File 对象
File(File parent, String child): 根据父路径 File 对象和子路径构建 File 对象
File(URI uri): 通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例
- public static void main(String[] args) {
- File file = new File("D:\\test.txt");
- File file2 = new File("D:\\test.txt","test2.txt");
- File file3 = new File(file,"test3.txt");
- try {
- File file4 = new File(new URI(""));
- } catch (URISyntaxException e) {
- e.printStackTrace();
- }
- }
File 类实现了 Serializable, Comparable 两大接口以便于其对象可序列化和比较, 这上面的代码片段只是构建了 File 对象, 我们可以通过其方法来操作文件.
创建文件:
- public static void main(String[] args) {
- File file = new File("E:\\test.txt");
- try {
- file.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
createNewFile 方法将在在指定位置创建一个空文件, 成功就返回 true, 如果已存在就不创建然后返回 false, 这里需要注意 \ 斜杠问题, 在 Windows 中分隔符为 \, 在 Unix/Linux 中分隔符为 /, 所以我们在构建 File 对象时应该使用 File 类中的常量 separator, 如:
- public static void main(String[] args) {
- File file = new File("E:" + File.separator + "test.txt");
- try {
- file.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
创建文件夹:
- public static void main(String[] args) {
- File file = new File("E:" + File.separator + "hello");
- file.mkdir();
- }
mkdir 方法会在指定位置创建目录, 返回 boolean, 创建成功返回 true, 不成功返回 false, 如果需要创建所有层级的目录那么需要调用 mkdirs 方法, 如:
- public static void main(String[] args) {
- File file = new File("E:" + File.separator + "hello" + File.separator + "world");
- file.mkdirs();
- }
返回值和 mkdir 相同.
File 类的其他常用方法:
1,renameTo(File dest): 重命名文件或文件夹
2,delete() : 删除文件或一个空文件夹
3,isDirectory(): 是否是目录
4,isFile(): 是否是文件
5,exists(): 判断文件或目录是否存在
6,getPath(): 获取相对路径
7,getName(): 获取名称
8,length(): 获取文件的大小
9,lastModified(): 获取文件最后修改时间
这里只列出一部分方法, 更多的方法需要同学们去查看 API, 查看 API 也是一个非常好的习惯.
注意事项:
(1)Java 程序的删除不走回收站.
(2) 如果目录内还有内容就不能删除.
如果你觉得还不错请分享出去
你也可以关注公众号, 新文章会第一时间发到公证号
1555737540494.jpg
来源: http://www.jianshu.com/p/b5900c66e526