File的理解

**

1. File的概念

**
File是专门用来管理磁盘文件与目录的,它不负责数据的输入输出。Java.io.File是Java.lang.Object的子类,是文件和目录路径名的抽象表示,简单来说就是File可以代表磁盘下的一个文件,也可以代码磁盘目录下的一个文件集。我们可以使用File拿到这个文件或者文件集的引用,来对这个文件或者文件集进行操作。

2. File的作用

File可以创建文件(或文件夹),查询文件属性和处理文件目录。

3. File的构造方法

1) File(File parent, String child)
通过传入一个File对象和一个文件名实例化File对象。
例子:

        File file = new File("D:\\TestIO");
        File file2 = new File(file, "lgy.txt");
System.out.println(file2.exists());

2) File(String pathname)
直接传文件的整个路径字符串实例化
File file = new File(“D:\TestIO”, “lgy.txt”);
3)File(String parent, String child)
通过传入一个路径字符串parent和一个文件名字符串创建一个File对象。
例子:

File file = new File("D:\\TestIO", "lgy.txt");

4) File(URI uri)
URL用于网络,所以带有明显的protocol,而且对于中文及符号支持的很不好。File就是我们平常系统中的文件路径了,对于中文及符号都支持,但是已经没有protocol了。所以,虽然两者都可以表示文件路径,但是却不能混用了。
URL和File路径的比较:
URL:file:/D:/TestIO/lgy.txt
File:D:\TestIO\lgy.txt
他们都是同一个文件。
URI由包括确定语法和相关协议的方案所定义。由是三个组成部分:访问资源的命名机制、存放资源的主机名、资源自身的名称,由路径表示。
比如文件的URL,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但“/”符号不能省略。
例:file://a:1234/b/c/d.txt代表获取资源使用ftp协议,资源目标是a主机的1234端口的b目录下的c目录下的d.txt。
例子:

    URL url;
    try {
        url = new URL("file:/D:/TestIO/lgy.txt");
        File file = new File(url.toURI());
        System.out.println(file.exists());
    } catch (URISyntaxException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

4. File的方法

1) public boolean exists( ) 判断文件或目录是否存在
2) public boolean isFile( ) 判断是文件还是目录
3) public boolean isDirectory( ) 判断是文件还是目录
4) public String getName( ) 返回文件名或目录名
5) public String getPath( ) 返回文件或目录的路径。
6) public long length( ) 获取文件的长度
7) public String[ ] list ( ) 返回指定路径下文件集下的所有文件名的字符串。
8) public boolean renameTo( File newFile );重命名文件
9) public void delete( ); 删除文件
10) public boolean mkdir( ); 创建目录,即创建的是文件夹
11) public boolean mkdirs( ); 创建路径目录下所有的不存在的文件夹
12) public URL toURL( );将文件转为url模式
13) public URI toURI( ); 将文件转为uri模式
14) public boolean renameTo(File dest) 改文件名称
15) public boolean createNewFile() 创建的是文件

5. File的分隔符

分隔符的出现主要是考虑到跨平台的问题。
比如说要在TestIO目录下建立一个test.txt文件,在Windows下应该这么写:
File file1 = new File (“D:\TestIO\test.txt”);
在Linux下则是这样的:
File file2 = new File (“D://TestIO//test.txt”);
如果要考虑跨平台,则最好是这么写:

File myFile = new File("D:" + File.separator + " TestIO " + File.separator, "test.txt");

1) separator
与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar。
2) separatorChar
与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 ‘/’;在 Microsoft Windows 系统上,它为 ‘\’。
3) pathSeparator
与系统有关的路径分隔符。此字段被初始为包含系统属性 path.separator 值的第一个字符。此字符用于分隔以路径列表 形式给定的文件序列中的文件名。在 UNIX 系统上,此字段为 ‘:’;在 Microsoft Windows 系统上,它为 ‘;’。
4) pathSeparatorChar
与系统有关的路径分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 pathSeparatorChar。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值