IO(1)----File类

一、概念

File类:文件和目录路径的抽象表示。

用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。抽象路径名 有两个组件:

  1. 一个可选的与系统有关的前缀 字符串,比如盘符,"/" 表示 UNIX 中的根目录,"\\\\" 表示 Microsoft Windows UNC 路径名。
  2. 零个或更多字符串名称 的序列。

抽象路径名中的第一个名称是目录名,对于 Microsoft Windows UNC 路径名则是主机名。抽象路径名中第一个名称之后的每个名称表示一个目录;最后一个名称既可以表示目录,也可以表示文件。 抽象路径名没有前缀和名称序列。

路径名字符串与抽象路径名之间的转换与系统有关。将抽象路径名转换为路径名字符串时,每个名称与下一个名称之间用一个默认分隔符 隔开。默认名称分隔符由系统属性 file.separator 定义,可通过此类的公共静态字段 separatorseparatorChar 使其可用。将路径名字符串转换为抽象路径名时,可以使用默认名称分隔符或者底层系统支持的任何其他名称分隔符来分隔其中的名称。

无论是抽象路径名还是路径名字符串,都可以是绝对 路径名或相对 路径名。绝对路径名是完整的路径名,不需要任何其他信息就可以定位它所表示的文件。相反,相对路径名必须使用取自其他路径名的信息进行解释。默认情况下,java.io 包中的类总是根据当前用户目录来解析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录。

调用此类的 getParent() 方法可以获取抽象路径名的 路径名,它由路径名前缀以及路径名名称序列中的每个名称(最后一个除外)组成。对于任何具有绝对抽象路径名的 File 对象,如果其绝对抽象路径名以某个目录的绝对路径名开头,那么该目录的绝对路径名是该 File 对象的祖先。例如,抽象路径名 "/usr" 表示的目录是路径名 "/usr/local/bin" 所表示目录的一个祖先。

在处理 UNIX 平台的根目录,以及 Microsoft Windows 平台的盘符、根目录和 UNC 路径名时,将用到前缀这一概念。如下所示:

  • 对于 UNIX 平台,绝对路径名的前缀始终是 "/"。相对路径名没有前缀。表示根目录的绝对路径名的前缀为 "/" 且名称序列为空。
  • 对于 Microsoft Windows 平台,包含盘符的路径名前缀由驱动器号和一个 ":" 组成。如果路径名是绝对路径名,还可能后跟 "\\"。UNC 路径名的前缀是 "\\\\";主机名和共享名是名称序列中的前两个名称。没有指定驱动器的相对路径名没有前缀。

此类的实例可能表示(也可能不表示)实际文件系统对象,如文件或目录。如果它表示这种对象,那么该对象驻留在一个分区 中。分区是文件系统特定于操作系统的存储分区。一个存储设备(例如,物理磁盘驱动器、闪存、CD-ROM)可以包含多个分区。对象(如果有)将驻留在此路径名(绝对形式)某个祖先指定的分区上。

文件系统可以实现对实际文件系统对象上的某些操作(比如,读、写、执行)进行限制。这些限制统称为访问权限。文件系统可以对一个对象设置多个访问权限。例如,一个设置可能适用于对象的所有者,另一个设置则可能适用于所有其他用户。对象上的访问权限可能导致此类的某些方法执行失败。

File 类的实例是不可变的;也就是说,一旦创建,File 对象表示的抽象路径名将永不改变。

File类的字段

我们知道,各平台之间的路径分隔符是不一样的。为了屏蔽各个平台之间的分隔符差异,在构造File类的时候,可以使用Java提供的跨平台分隔符:

File.separator  ->  同一个路径中字符串分隔符

File.pathSeparator ->  分隔连续多个路径字符串

windows下的表现:

构造方法

 1   //不使用Java提供的分隔符,//只能在windows下生效
 2         File f1 = new File("E://io//io.txt");
 3         //使用Java提供的分隔符
 4         File f2 = new File("E" + File.separator + "io" + File.separator + "io.txt");
 5         System.out.println(f1);
 6         System.out.println(f2);
 7
 8         //File(File parent,String child)
 9         //从父抽象路径名和子路径名字符串创建新的File实例
10         File f3 = new File("E:");
11         File f4 = new File(f3,"IO");
12         System.out.println(f4);
13
14         //File(String path)
15         //将给定的路径名转换成抽象路径名来创建新的File实例
16         File f5 =  new File("E" + File.separator + "io" + File.separator + "io.txt");
17         System.out.println("f5->"+f5);
18
19         //File(String parent,String child)
20         //从父路径字符串名和子路径字符串名创建新的File实例
21         File f6 = new File("E" + File.separator, "io" + File.separator + "io.txt");
22         System.out.println("f6->" + f6);

File类常用方法

创建方法

1.boolean creatNewFile()   不存在返回true,存在返回false

2.boolean mkdir()  创建目录,如果上一级目录不存在,创建失败

3.boolean mkdir()  创建多级目录,如果上一级目录不存在也会自动创建

删除方法

1.boolean delete()  删除文件或目录,如果表示目录,则目录下必须为空才可以删除

2.boolean deleteOnExit()  文件使用完成后删除

判断方法

1.boolean canExecute()  判断文件是否可执行

2.boolean canRead()  判断文件是否可读

3.boolean canWrite()  判断文件是否可写

4.boolean isDirectory()  判断文件是否为一个目录

5.boolean exists()  判断文件或目录是否存在

6.boolean isFile()  判断对象是否为一个文件

7.boolean isHidden()  判断是否为隐藏文件

8.boolean isAbsolute()  判断是否为绝对路径

获取方法

1.String getName()  获取此对象表示的文件或目录名称

2.String getPath()  将此路径名转换为路径名字符串

3.String getAbsolutePath()  返回此抽象路径名的绝对形式

4.String getParent()  获取父路径名,不存在返回null

5.long lastModified()  获取最后一次修改的时间

6.long length()  返回此抽象路径名表示的文件的长度

7.boolean renameTo(File f)  重命名此抽象路径名表示的文件

8.File[] listRoots()  获取机器盘符

9.String[] list()  返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
10.String[] list(FilenameFilter filter)   返回一个字符串数组,命名由此抽象路径名表示的目录中满足指定过滤器的文件和目录。

原文地址:https://www.cnblogs.com/blogforvi/p/11629819.html

时间: 2024-11-08 23:35:16

IO(1)----File类的相关文章

JAVA之IO技术File类的使用

package ioTest.io3; /* * File类是对文件和文件夹的抽象. * File类的常见方法: * 1.创建 * createNewFile():在指定的位置创建文件,如果该文件已经存在,则不创建,返回false. * 和输出流对象不一样,输出流对象,只要已建立就创建,如果文件存在,则覆盖. * mkdir():创建此抽象路径名指定的目录 * mkdir():创建此抽象路径名指定的目录,包括所有必需但不存在的父目录. * 2.删除 * delete() * deleteOnEx

Java—IO流 File类的常用API

File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOException; public class Demo16 { public static void main(String[] args) { File file = new File("F:\\javaio"); //文件(目录)是否存在 if(!file.exists()) { //

java io包File类

1.java io包File类, Java.io.File(File用于管理文件或目录: 所属套件:java.io)1)File对象,你只需在代码层次创建File对象,而不必关心计算机上真正是否存在对象文件. file类的几个常用方法:file.canRead() boolean ,file.canWrite() boolean,file.canExecute() boolean,file.createNewFile() boolean.(1)file.createNewFile() boole

java之io之File类的list()方法过滤目录的使用

java的io的知识中,File类必须掌握.File类是对文件或者文件夹的封装.它本身并不能对所封装的文件进行读写,它封装的只是文件或文件夹的周边知识,比如 大小啦,创建日期啦,路径啦等等. 如果File封装的文件夹,File类的list()方法可以将此文件夹下的所有文件夹和文件已字符串数组的形式返回. list(FilenameFilter)可以对返回的字符串数组进行过滤,取自己想要的字符串. ?打印文件夹下的.java文件 实现1 package com.westward.io; impor

探究java IO之File类

尽管java.io定义的大多数类用于操作流,但File类却不是.File类直接处理文件和文件系统.也就是说,File类没有指定如何从文件检索信息以及如何向文件中存储信息,而是描述了文件本身的属性.File对象用于获取和操作与磁盘文件关联的信息,例如权限,时间日期以及目录路径,并且还可以浏览子目录层次. 注意:由JDK7为NIO系统增加的Path接口和File类,在许多情况下都为File类提供了强大的替换方案,具体看后面的NIO章节. 下面的构造函数可以用于创建File对象: File(Strin

Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流)

第一讲     File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作 3)File类的实例是不可变的:也就是说,一旦创建,File 对象表示的抽象路径名将永不改变 4)File对象可以作为参数传递给流的构造函数 二.File对象创建 方式一: File f =new File("a.txt"); 将a.txt封装成File对象.可以将已有的和未出现的文件或者文件夹封装成对象. 方式

java之io之file类的常用操作

java io 中,file类是必须掌握的.它的常用api用法见实例. package com.westward.io; import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) { File file= new File("d:\\javaio"); @SuppressWarnings("static-acce

Java的IO操作---File类

目标 1)掌握File类作用 2)可以使用file类中方法对文件进行读写操作. File类 唯一与文件有关的类.使用file类可进行创建或删除操作,要想使用File类,首先观察File类的构造方法. public File(String pathname);实例化File类的时候,必须设置好路径. 常量:: public staitc final String pathSeparator: 明明使用了static final定义的常量,这里为什么使用了小写方式.实际上这属于JAVA的历史遗留问题

黑马程序员——Java基础---IO(三)--File类、Properties类、打印流、序列流(合并流)

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作,因此是对流操作的一种补充 3)File类的实例是不可变的:也就是说,一旦创建,

黑马程序员--io之File类

--Java培训.Android培训.iOS培训..Net培训.期待与您交流! -- io中文件的操作 File f=new File("c:/a"); 1:关于文件的操作,文件的创建:createNewFile ,文件的删除:delete 返回的值都是boolean 2:判断文件是否存在 : exists() 返回boolean ,创建文件夹 : mkdir() 创建一级目录 mkdirs() 创建多个目录 3:判断是否是文件 : isFile() 返回boolean 判断是否是文件