File类的实例化 [Java]

File类的实例化

首先我们要知道我们的File对象表示什么?

File类对象可以表示一个文件,也可以表示一个文件目录

  • 文件目录俗成文件夹
  1. public File(String pathname);
  • 以pathname为路径创建File对象
    • 此时的这个pathname可以是相对路径,也可以是绝对路径
相对路径就是相对于于本项目 — 也就是在项目位置下
绝对路径就是带盘符的路径 — 也就是一个完整的路径

eg: 传入一个相对路径构造File对象

/*
这个时候创建的这个File对象对应的就是就是在本项目位置下的一个名为Hello的一个txt文件
*/
File file = new File("Hello.txt");
  • 要注意: 这个时候我们只是才内存的角度创建了一个File类型的对象,这个时候这个路径下的文件可以不存在

eg: 传入一个绝对路径构造FIle对象

/*
这个时候创建的这个File对象就是在D盘中的workspace_idea目录(文件夹)下的day02目录
*/
File file = new File("D:\\workspace_idea\\day02");
  • 这个时候我们创建的这个File对象不是一个文件而是一个文件目录
    • 也就是创建了一个File对象 ---- 表示一个文件目录
  1. File(String parentpath , String childpath);
    • 这个方法中的第一个参数表示上一级的目录

eg:

File file = new File("D:\\workspace_idea","day02");
  • 这里我们就是创建了一个D盘中workspace_idea目录下的day02目录的File对象
  1. File(File parentFile, childpath);
    • 这个方法就是根据第一个File类型的参数对象的位置,在第一个参数File对象的地址之下创建childpath文件或者文件夹对应的对象

eg:

File file1 = new File("D:\\workspace_idea\\day02");
FIle file2 = new File(file1,"hi.txt");
  • 这个时候我们的file2就是在file1的所在位置作为上级目录的条件下创建的

这个时候的file2对象就是D盘中的workspace目录下的day02目录下的hi.txt文件

通过上面我们可以发现,很多地方都用到了" \ \ "

这个\ \表示什么?
  • 它表示路径分隔符
路径分隔符:

路径分隔符的使用和系统有关

  • 在windows和DOS系统中都是默认使用" \ "作为路径分隔符
  • UNIX和URL中都是使用"/"作为路径分隔符

我们的java在windows系统上运行时,这个时候按理来讲是使用" \ “作为路径分隔符,但是我们的java中” \ “(反斜杠)有转义的意思,这个时候为了和转义符区分,在windows系统下java中是使用” \ \ “作为路径分隔符,或者使用”/"作为路径分隔符

总结: windows系统下java中使用"\ \ “或者”/"

由于java程序支持跨平台运行,因此使用路径分隔符要谨慎使用
  • 为了解决这一个隐患,File类中提供了一个常量: Separator
public void final String Separator

使用这个常量作为分隔符会根据系统的不同,动态的提供分隔符

java中三种路径分隔符的使用举例:
  1. "\ \ "
File file1 = new File("D:\\feifei\\into.txt");
  1. “/”
File file2 = new File("D:/feifei/into.txt");
  1. File.Separator
File file3 = new File("D:" + File.separator + "feifei" + File.separator + "into.txt");

上面这三种都是在内存中创建了一个File对象,这个File对象表示一个D盘下的feifei文件夹下的into.txt文件

重难点思想:

如果我们创建了一个File对象,这个时候硬盘中如果有这个对象对应的文件夹或者是文件目录,这个时候就是我们的File对象就表示对应的硬盘内的文件或者是文件目录, 如果这个时候硬盘中这个File对象对应的文件或者文件目录,这个时候这个File对象并不是指向了一个null,而是指向了内存中的一个File对象,仅仅是内存层面的一个对象,不表示硬盘中的实际的文件和文件目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值