一、初始化:

File f1 = new File("//Users//Shared//JavaIOTest//Test01.txt");
File f2 = new File("//Users//Shared//JavaIOTest","Test01.txt"); File fl = new File("//Users//Shared//JavaIOTest");
File f3 = new File(fl,"Test01.txt");
//注释:f1f2f3指向的是同一个文件。

二、判断

1、判断File类成员是否为目录

System.out.println(f1.isDirectory());
System.out.println(fl.isDirectory());

输出:

false
true

2、判断是否为文件

System.out.println(f1.isFile());
System.out.println(fl.isFile());

输出:

true
false

3、判断文件或目录是否存在

System.out.println(f1.exists());
System.out.println(fl.exists());

输出:

true
true

4、判断文件是否可写(可读就用canRead())

System.out.println(f1.canWrite());
System.out.println(fl.canWrite());

在macOS中,canWrite对应的是“已锁定”。Windows中就是对应的是“只读”。

5、判断文件是否是隐藏的

System.out.println(f1.isHidden());
System.out.println(fl.isHidden());

在macOS系统下,可以通过terminal终端命令对文件或目录进行隐藏。

chflags hidden /xxx/xxx/xxx

可以通过以下命令取消隐藏:

chflags nohidden /xxx/xxx/xxx

三、创建

1、创建文件

注意使用createNewFile()的时候需要接收错误,接收错误一般使用抛出错误或者之前讲过的try catch语句。这里为了方便直接使用了throws。

public static void main(String[] args) throws Exception {
//创建文件
File fl = new File("//Users//Shared//JavaIOTest");
File newFile = new File(fl, "myNewTest02.txt");
boolean isSucceed = newFile.createNewFile();
System.out.println(isSucceed);
}

第一次运行的时候应该是输出true的,第二次再运行的时候便会输出false,因为该文件已经存在,不能重复输出。

2、创建目录

mkdir只能创建一级文件夹,mkdirs可以创建多级文件夹。

当前目录(/Users/Shared/JavaIOTest/)下没有文件夹。

//创建文件夹
File newDir = new File("//Users//Shared//JavaIOTest//First//Second");
System.out.println(newDir.mkdir());
System.out.println(newDir.mkdirs());

输出:

false
true

四、删除

只能删除空的文件夹xx.delete()

System.out.println((new File("//Users//Shared//JavaIOTest//First//Second")).delete());

五、重命名

renameTo()

fl.renameTo(new File("//Users//Shared//JavaIOTest(rename!)"));

六、移动

使用renameTo(),当在同一级目录中的时候,效果就是重命名。

当renameTo在不同的目录的时候,效果相当于移动。

也就是说renameTo是修改文件的目录属性,换句话说,就是修改文件的位置信息。

就上面的例子,我们把恢复刚才已改名的文件夹名字为“JavaIOTest”,然后把myNewTest02.txt移动到First目录中。

newFile.renameTo(new File("//Users//Shared//JavaIOTest//First//myNewTest02.txt"));

七、获取

1、获取名字

.getName() 返回String

2、获取父目录

.getParent()  返回String

3、获取最后修改时间

.lastModified() 返回String

4、获取文件字节数

.length() 返回int

5、获取当前目录我的所有文件与文件夹

.list() 返回String[]

.listFiles() 返回File[]

八、复制

使用copy(),需要抛异常。

最新文章

  1. HTML5 学习总结(三)——本地存储
  2. 服务器sh脚本自动登录(mac)
  3. [转]:Delphi中Format的字符串格式化使用说明
  4. 【Bugly干货分享】微信文件微起底Ⅰ
  5. Java设计模式10:观察者模式
  6. bzoj1837: [CROATIAN2009]cavli 凸包1
  7. Apache Httpd + Subversion 搭建HTTP访问的SVN服务器
  8. 【Python】Python XML 读写
  9. 栅格系统不是要包裹在container里面吗
  10. B/S系统间跨域单点登录设计思路
  11. UESTC_Little Deer and Blue Cat CDOJ 1025
  12. FastRPC 3.2 发布,高性能 C++ 协程 RPC 框架
  13. 读书笔记 - 设计模式(Head First)
  14. 2016 SyScan360 国际前瞻信息安全会议 多角度探讨信息安全
  15. java多线程基本概述(十三)——Executor
  16. css中的 nav ul li ul 与 nav>ul>li 这两种写法的区别
  17. Node 环境变量 process.env.NODE_ENV 之webpack应用
  18. Spring之BeanPostProcessor(后置处理器)介绍
  19. 视觉slam领域经典综述和具体应用场景
  20. 安装 intelliJ idea 。 快速学会kotlin

热门文章

  1. 为什么 C# 访问 null 字段会抛异常?
  2. JavaScript写倒计时
  3. Elasticsearch面试题
  4. ArrayList分析2 :Itr、ListIterator以及SubList中的坑
  5. 自己动手实现 HashMap(Python字典),彻底系统的学习哈希表(上篇)——不看血亏!!!
  6. Proxmox6.2简单配置
  7. 使用Three.js实现炫酷的赛博朋克风格3D数字地球大屏 🌐
  8. 【万字长文】使用 LSM-Tree 思想基于.Net 6.0 C# 实现 KV 数据库(案例版)
  9. 编译式安装PHP
  10. Nmap 操作手册 - 完整版