文档章节

File文件类

centrald
 centrald
发布于 2016/01/29 20:30
字数 918
阅读 69
收藏 5

File:    

构造方法:

  public File(String pathname) 使用文件路径创建一个File对象

  public File(String parent, String child) 使用父文件路径和子文件或者子文件路径创建一个File对象

  public File(File parent, String child) 使用父文件对象和子文件或者子文件路径创建一个File对象 

File类中和创建功能相关的方法

public boolean createNewFile(): 创建一个新的文件, 如果没有就创建一个,如果有就不创建

public boolean mkdir(): 创建目录 , 如果没有就创建一个,如果有就不创建

public boolean mkdirs(): 创建多级文件夹 , (也可以创建单级文件夹)

注:

绝对路径: 以盘符开始的路径

相对路径: 就是不是以盘符开始的路径就是相对路径

File类中和删除功能相关的方法

public boolean delete(): 删除文件或者文件夹

 注: 

                删除的时候不走回收站

File类中和重命名相关的方法

   public boolean renameTo(File dest):把文件重命名为指定的文件路径

 注: 

                如果目标文件的路径和原文件的路径一致,那么就是重命名

                如果不一致就进行重命名,然后剪切

 File类中和判断功能相关的方法

  public boolean isDirectory(): 判断是否是目录

public boolean isFile(): 判断是否是文件

public boolean exists(): 判断是否存在

public boolean canRead(): 判断是否可读

public boolean canWrite(): 判断是否可写

public boolean isHidden(): 判断是否隐藏

File类中和获取功能相关的方法

  public String getAbsolutePath(): 获取文件的绝对路径

public String getPath(): 获取相对路径

public String getName(): 获取文件名称

public long length(): 获取文件的大小 , 单位是字节

public long lastModified(): 获取最后一次修改时间

public String[] list(): 获取的是指定路径下所有的文件和文件夹对应的名称数组

public File[] listFiles(): 获取的是指定的路径下所有的文件和文件夹对应的File数组

举两个简单的例子:

1.获取指定目录下的指定文件

import java.io.File;

/*
 * 编写程序,获取指定目录下 所有的.java结尾的文件, 打印出文件的绝对路径(包含 子文件夹中的.java文
 * 
 * 思路:使用递归的方法
 * 	1.获取指定目录
 * 		1>如果是以.java结束的文件,则打印其绝对路径
 * 		2>如果是文件夹
 * 			(1)以.java结束的文件,打印其绝对路径
 * 			(2)如果是文件夹,则1
 */		
public class RecursionFileDemo {
	public static void main(String[] args) {
		//将指定目录封装成File对象
		File file = new File("E:\\code");
		//使用方法递归求指定路径下的文件
		RecursionFileFun(file);
	}
	//定义递归方法
	public static void RecursionFileFun( File file){
		
		//获取目录下所有文件对象
		File[] list = file.listFiles();
		for(File l:list){
			if(l.isFile()){
//				System.out.println(l.getName());
				//如果文件以.java结尾,则将其打印出来
				if(l.getName().endsWith(".java")){
					System.out.println(l.getAbsoluteFile());
				}
			}
			//如果是文件夹,则将其递归调用
			else{
				RecursionFileFun(l);
			}
		}
	}
}
/*
 * E:\code\MyName.java
E:\code\Test.java
 */

2.模拟rm -fr 递归删除文件夹下的文件

import java.io.File;

/*
 编写程序,删除 指定目录下的 所有文件与文件夹  (包含子文件夹) 
 */
public class RecursionFileDemo2 {
	public static void main(String[] args) {
		//将指定目录封装为File对象
		File file = new File("E://code");
		RecursionFileFun(file);
	}

	public static void RecursionFileFun(File file) {
		// TODO Auto-generated method stub
		//获取指定路径下的文件对象数组
		File[] list = file.listFiles();
		for(File l:list){
			//如果是文件,则将其直接删除
			if(l.isFile()){
				l.delete();
			}
			else{
				RecursionFileFun(l);
				//删除文件夹
				l.delete();
			}
			
		}
		
	}
	
}


© 著作权归作者所有

共有 人打赏支持
centrald
粉丝 12
博文 112
码字总数 120823
作品 0
杭州
程序员
探究java IO之File类

尽管java.io定义的大多数类用于操作流,但File类却不是。File类直接处理文件和文件系统。也就是说,File类没有指定如何从文件检索信息以及如何向文件中存储信息,而是描述了文件本身的属性。...

柳哥
2014/11/13
0
1
java.IO.File类详解

JDK1.0就存在的File类:用于对文件进行一般性操作。由于NIO中有对File对象进行改善,现在对其进行一般性说明。 File类有四个构造函数:(都必须传入路径地址String或者Path)   File(String...

marjey
2016/10/25
111
1
PHP自动加载类—__autoload()和spl_autoload_register()

test.php 当前目录下有j.php 正常输出:成功加载 修改test.php代码 运行test.php报错: Warning: requireonce(k.php) [function.requir...

晨曦之光
2012/03/09
1K
0
Num19-----------IO流

异常处理 throws的方式处理异常 自定义异常的实现和测试 异常的注意事项 File类的创建功能 File类的删除功能 File类的重命名功能 File类的判断功能 File类的获取功能 File类的高级获取功能 ...

萧小蚁
2016/02/19
67
0
OutputStream-InputStream-FileOutputStream-FileInputStream-BufferedOutputStream-BufferedInputStream

一.OutputStream 类(java.io) 概述:OutputStream类就是专门用于从程序中将数据写入到介质中; 定义:public abstract class OutputStream extends Object implements Closeable, Flushable Ou......

老胡2015
2017/06/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day96-20180923-英语流利阅读-待学习

英国王子也不看好人工智能,理由却和霍金不同 Daniel 2018-09-23 1.今日导读 2016 年 3 月 9 日至 15 日,世界围棋冠军李世石与谷歌研发的计算机围棋程序 AlphaGo 进行人机大战并以 1 比 4 ...

飞鱼说编程
33分钟前
1
0
今天在码云遇到一个很有意思的人 for Per.js

今天在码云遇到一个很有意思的人,他在我的Per.js项目下面评论了一句,大意为“你试试这句代码,看看速度到底是你快还是Vue快”【当然,这个评论被我手残不小心删掉了...】。 然后我就试了,...

Skyogo
38分钟前
24
0
Java -------- 首字母相关排序总结

Java 字符串数组首字母排序 字符串数组按首字母排序:(区分大小写) String[] strings = new String[]{"ba","aa","CC","Ba","DD","ee","dd"}; Arrays.sort(strings); for (int i ...

切切歆语
40分钟前
1
0
还在用 Git 的 -f 参数强推仓库,你这是在作死!

最近,美国一个程序员因为同事不写注释,代码不规范,最严重的是天天使用 git push -f 参数强行覆盖仓库,该程序员忍无可忍向四名同事开抢,其中一人情况危急!!! 不写注释、代码不规范是一...

红薯
53分钟前
401
0
NPM报错终极大法

所有的错误基本上都跟node的版本相关 直接删除系统中的node 重新安装 sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*} 重新安装 $ n lts$ npm...

lilugirl
57分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部