java的File类

1 File类

1.1java的File类的说明

 File类描述的是一个文件或文件夹(文件夹可被称为目录)。
 File类的出现是对文件系统中的文件以及文件夹 进行对象的封装。通过对象的思想来进行操作。
    文件包含的信息有:如文件名、创建修改时间、大小、隐藏可读可写等属性。

1.2 File类的实例化

new File(String pathname)   指定文件或者文件夹的路径,创建一个File对象
new Fille(File parent, String child) 指定父路径与子路径构建一个File对象 。 
 File(String parent, String child)     指定父路径与子路径构建一个File对象 

1.3File类的检验

// 检验指定路径下是否存在指定的目录或者文件.
        File file = new File("f:\\a.txt");
        System.out.println(file.exists());
// File对象是否是目录
        System.out.println(file.isDirectory());
// 对象是否是文件
        System.out.println(file.isFile());

1.4 路径

路径:

绝对路径: 指定文件的完整路径创建一个File对象,绝对路径一般以盘符开头。

相对路径: 资源文件相对于对当前路径。

.  代表是当前路径
..  代表是上一级路径

注意: 如果当前路径与资源文件不是在同一个盘符下,没法写相对路径的。

目录分隔符:

    在Windows中分隔符为'\',            在Unix/Linux中分隔符为'/'。  正斜杠
   注意:
1. 在windows操作系统下, 可以使用"\"  与  "/" 作为目录分隔符 , 但是在Unix/Linux的操作系统下只能使用"/"作为目录分隔符。 
2. 注意,如果是使用"\",则需要进行转义,写为"\\"才可以,如果是两个"\",则写为"\\\\"。
3. 专业做法
new File("c:" + File.separatorChar + "a.txt");   File.separatorChar这个值就会根据系统得到的相应的分割符。
4. 获取绝对路径
File file2 = new File("."); 
        System.out.println("当前路径:"+file2.getAbsolutePath());

1.5File常用方法

通过File类常用的方法我们就可以获取以及修改文件 的属性数据。

**创建:**

1.createNewFile() :在指定位置创建一个空文件,成功就返回true,如果已存在就不创建然后返回false
2.mkdir() :在指定位置创建目录,这只会创建最后一级目录,如果上级目录不存在就抛异常。
3.mkdirs() :在指定位置创建目录,这会创建路径中所有不存在的目录。
4.renameTo(File dest):  重命名文件或文件夹,也可以操作非空的文件夹,文件不在同一级目录相当于文件的剪切,剪切时候不能操作非空的文件夹(相当剪切不起作用)。移动/重命名成功则返回true,失败则返回false。

 **删除:**

  delete() 删除文件或一个空文件夹,如果是文件夹且不为空,则不能删除,成功返回true,失败返回false。(**马上删除**)
 deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录,保证程序异常时创建的临时文件也可以被删除  (**当jvm退出的时候执行删除动作。**) 
 判断:
exists()        文件或文件夹是否存在。
isFile()        是否是一个文件,如果不存在,则始终为false。
isDirectory()   是否是一个目录(文件夹),如果不存在,则始终为false。

isHidden()      是否是一个隐藏的文件或是否是隐藏的目录。
isAbsolute()    测试此抽象路径名是否为绝对路径名。
 获取:
getName()       获取文件或文件夹的名称,不包含上级路径。

getPath()       返回绝对路径,可以是相对路径,但是目录要指定
getAbsolutePath()   获取文件的绝对路径,与文件是否存在没关系

length()        获取文件的大小(字节数),如果文件不存在则返回0L,如果是文件夹也返回0L。

getParent()     返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。

lastModified()  获取最后一次被修改的时间。


**文件夹相关:**
   staic File[] listRoots() 列出所有的根目录(Window中就是所有系统的盘符)
 list()  当前路径下面的所有子文件名与子文件夹名,包含隐藏文件。对于文件这样操作会返null。
listFiles() 子文件与子目录存储到一个File数组中返回,包含隐藏文件。对于文件这样操作会返回null。 一般用这种
list(FilenameFilter filter)   返回指定当前目录中符合过滤条件的子文件或子目录.对于文件这样操作会返回null。
 listFiles(FilenameFilter filter) 返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
 File[] files = file.listFiles();  
for(File fileItem : files){       System.out.println(fileItem.getName());}
<think>首先,用户要求使用中文回答问题。问题主题是“java File”,所以我需要解释Java中的File。 关键点:回答完问题后,必须提出3-5个相关问题,并以“§§相关问题§§”开头。相关问题必须输出在回答的末尾,且不能缺少。第一行必须是完整的“§§相关问题§§”,不能换行分散。 示例格式显示: - 先回答问题(例如,解释快速排序并给出代码)。 - 然后以“§§相关问题§§”开头,列出3-5个问题。 所以,我的回答结构: 1. 解释Java File。 2. 在末尾,添加“§§相关问题§§”,然后列出3-5个相关问题。 现在,内容: - Java File:在Java中,Filejava.io包的一部分,用于表示文件目录的路径名。它允许创建、删除、重命名文件目录,以及查询文件属性(如大小、修改时间等)。但它不直接处理文件内容;对于内容操作,需要使用流FileInputStream或FileOutputStream。 我需要确保回答全面但简洁。 然后,相关问题:基于用户的问题“java File”,我应该提出相关问题来扩展知识或深化理解。例如: 1. Java File如何创建新文件? 2. FileFiles有什么区别? 3. 如何处理文件路径在Java中? 4. File的主要方法有哪些? 5. 为什么File被弃用或推荐使用其他? 用户指定3-5个,所以我准备3-5个。 输出格式: - 回答部分:用中文解释。 - 然后,直接添加“§§相关问题§§”,后面跟问题列表,每个问题以数字点开头(如1. ···)。 示例中是: §§相关问题§§ 1. ··· 2. ··· 3. ··· 所以,我必须严格遵守:第一行是“§§相关问题§§”,没有换行或分散。 最后,确保所有内容符合规则,否则无效。 大纲我的回答: 1. 解释Java File: - 定义:Filejava.io包中的一个,用于处理文件目录的路径。 - 功能:可以创建、删除文件,检查文件是否存在,获取文件属性等。 - 注意:File不代表文件内容;对于读写,需要使用流。 - 可能给出一个简单代码示例(尽管用户没有指定,但示例中有代码,所以我应该包括一个)。 用户问题只是“java File”,没有指定代码,但示例中有代码,所以我包括一个简单代码片段来演示。 例如: ```java import java.io.File; public class FileExample { public static void main(String[] args) { File file = new File("example.txt"); if (file.exists()) { System.out.println("File exists!"); } else { System.out.println("File does not exist."); } } } ``` 然后,相关问题: 1. File的主要方法有哪些? 2. 如何在Java中读取文件内容? 3. FilePath有什么区别? 4. 为什么Java引入了Files? 5. 如何处理文件权限在Java中? 确保3-5个。 现在,用中文写回答。</think>Java File是`java.io`包中的一个核心,用于表示文件目录的路径名。它不直接处理文件内容(如读写),而是提供方法来操作文件系统对象,例如创建、删除、重命名文件或目录,以及查询文件属性(如大小、修改时间、权限等)。File基于平台无关的路径字符串工作,但需要注意,它已部分被Java 7引入的`java.nio.file.Path``Files`取代,后者提供更现代、功能更丰富的API。 ### 基本用法示例: - 创建File对象:`File file = new File("path/to/file.txt");` - 常用方法: - `exists()`:检查文件或目录是否存在。 - `createNewFile()`:创建新文件(如果不存在)。 - `delete()`:删除文件或空目录。 - `isDirectory()`:判断是否为目录。 - `length()`:获取文件大小(字节)。 ```java import java.io.File; public class FileDemo { public static void main(String[] args) { File file = new File("test.txt"); try { if (file.createNewFile()) { System.out.println("文件创建成功!"); } else { System.out.println("文件已存在或创建失败。"); } } catch (Exception e) { e.printStackTrace(); } } } ``` 注意:File在处理文件内容时,需配合流(如`FileInputStream`或`FileWriter`)使用。在Java 7及以上,推荐使用`java.nio.file`包中的`Path``Files`,以提高性能安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值