File类概述
来源:互联网 发布:photoshop免费下载mac 编辑:程序博客网 时间:2024/05/18 02:24
㈠ File类:用于描述文件系统中的一个文件或目录。
㈡ File类的功能:我们通过File可以获取文件或目录的名字,大小,修改日期等信息。但是不能对文件内容进行访问
① File.separator 是个常量,用于解决操作系统间目录分隔符之间的差异。
② 路径中的"."代表当前目录。
③ 构造方法:File(String path),根据给定的路径,创建File对象来描述这个文件或目录。
例如:
File file = new File("."+File.separator+"file.txt"); File file = new File("file.txt");// 不加 "." ,默认是在当前目录下
④ 重载构造方法:在指定目录中创建文件或目录
File file = new File(File dir,String name);
参数1:描述父目录(上级目录)的File对象
参数2:当前文件或目录的名字
㈢ File的常用方法
long length(); // 获取文件的大小 ,以字节为单位.long lastModified(); // 获取文件的最后修改时间,毫秒值.String getName(); // 获取文件或目录的名字.String getPath(); // 获取当前文件或目录的相对路径,以字符串形式返回.String getAbsolutePath(); // 获取当前文件或目录的绝对路径.String getCanonicalPath(); // 获取操作系统标准的绝对路径,但是该方法需要我们捕获异常.boolean exists(); // 判断当前File对象描述的文件或目录是否存在.boolean isFile(); // 判断当前File对象描述的是否为一个文件.boolean isDirectory(); // 判断当前File对象描述的是否为一个目录.boolean canRead(); // 判断当前文件是否可读.boolean canWrite(); // 判断当前文件是否可写.
㈣ 使用File创建文件或目录
① 创建目录需要注意的几个问题
1) 指定想要创建目录的位置以及目录名称,并创建对应的File对象
2) 创建前确保该目录是不存在的
3) 通过File对象创建它
4) 当我们创建该对象后,并不代表他描述的目录一定存在,这只是java的一个对象,在内存中存在的。是否在硬盘上存在,要进行判断。
② 创建文件或目录的方法
boolean mkdir():创建File描述的目录。
boolean createNewFile():创建File描述的文件
boolean mkdirs():创建目录,同时创建所有不存在的上级目录。在创建多级目录时,应选取使用mkdirs()方法,若在多级目录下创建文件,应先确保该文件所处的目录存在后,再创建文件。
㈤ 删除文件或目录
① 删除给定的File对象需要注意的几个问题
1) 要先判断它是一个文件还是目录,
2) 若是文件则可以直接删除,
3) 若是目录,则要先获取其所有子项,然后逐个删除后,再删除这个目录。
② 删除文件或目录的方法
boolean delete():删除文件或目录。删除目录时,要确保该目录下没有任何子项才可以成功删除目录。
㈥ 查看目录下的内容
String[] list():返回当前目录下子项的名字
File[] listFiles():获取当前目录下的所有子项,每一个子项用一个File对象描述,最终以数组形式返回。
File[] listFiles(FileFilter filter):重载的listFiles()方法,可以传入一个过滤器,用来返回当前目录下满足过滤器要求的所有子项。
㈦ File代码示例
① 给定一个File对象,若是目录,输出该目录下的所有子项,子项若是目录,同样递归输出其子项。按如下样式输出:
-src
--java
---XXX.java
public class FileShows { public static void main(String[] args) { File file = new File("src"); showsFile(file, 1); } public static void showsFile(File file, int i){//i 代表该方法被调用的次数,从0开始为第一次。 String str = ""; for(int j=0;j<i;j++){ str += "-"; } System.out.println(str + file.getName()); i++;//方法调用一次,i自加1,下次调用时str增加一个“-”。 if(file.isDirectory()){ for(File sub : file.listFiles()){ showsFile(sub, i); } } }}
② 递归删除目录下的子目录
public class DeleteFile { public static void main(String[] args) { File dir = new File("."+File.separator+"a"); deleteFile(dir); } // 删除给定的文件或目录 public static void deleteFile(File file){ /** * 要想删除给定的File对象,要先判断它是一个文件还是目录 * 若是文件,则可以直接删除, * 若是目录,则要先获取其所有子项,然后逐个删除后,再删除这个目录 */ //若是目录 if(file.isDirectory()){ //先删除所有子项 File[] subs = file.listFiles(); for(File sub : subs){ deleteFile(sub); } } //删除当前file对象描述的文件或目录 file.delete(); }}
③ 创建文件
public class FileMkDirDemo { public static void main(String[] args) throws IOException { /** * 创建目录 * 1:指定想要创建目录的位置以及目录名称,并创建对应的File对象 * 2:创建前确保该目录是不存在的 * 3:通过File对象创建它 */ //1 File dir = new File("."+File.separator+"mydir"); //2 if(!dir.exists()){ //3 dir.mkdir(); } //输出目录路径 System.out.println(dir.getCanonicalPath()); /** * 在mydir目录中创建文件test.txt,创建文件的步骤和创建目录步骤一致 */ //1 File file = new File("." + File.separator +"mydir" + File.separator +"test.txt"); /** * 重载构造方法 * 在指定目录中创建文件或目录 * 参数1:描述父目录(上级目录)的File对象 * 参数2:当前文件或目录的名字 */ // File file = new File(dir,"text.txt"); //2 if(!file.exists()){ //3 file.createNewFile(); } System.out.println(file.getCanonicalPath()); /** * 在当前目录下创建 a/b/c/d,多级目录 */ File mdir = new File( "." + File.separator + "a" + File.separator + "b" + File.separator + "c" + File.separator + "d"); if(!mdir.exists()){ //使用mkdir创建目录,必须保证上级目录要存在 // mdir.mkdir(); //mkdirs创建目录,会自动将不存在的上级目录创建出来 mdir.mkdirs(); } System.out.println("目录创建完毕"); }}
- File类概述
- File类概述
- File类概述
- File类概述和解释第一部分
- File类概述及一些基本操作
- IO流(File概述)
- File文件对象概述
- LOG FILE SYNC概述
- Java基础-File概述
- File功能概述
- File对象概述
- 黑马程序员——File类的概述
- File类概述和解释第一部分(补充)
- IO操作、File类概述和构造方法
- Java_基础—File类的概述和构造方法
- Oracle Cloud File System概述
- 黑马程序员-File类概述_File类功能_列出目录下所有内容-带层次
- File类的概述和常用功能:File类的创建和删除功能:File类的判断功能:File类的获取功能和修改名字功能File的重要获取功能
- linux sed命令用法
- 将一个对象定位到页面的右下角
- JS概述
- 关于ARM体系中栈的对齐问题
- JS基本语法
- File类概述
- CGI
- Java Web学习总结(29)——Java Web中的Filter和Interceptor比较
- FileFilter:文件过滤器
- RandomAccessFile类:读写文件的内容
- JS中的正则表达式
- JS正则表达式中的特殊字符
- JS自带的一些函数
- Android解析xml文件