File的理解

来源:互联网 发布:淘宝延迟发货道歉信 编辑:程序博客网 时间:2024/05/17 23:59

**

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