文档章节

File文件类

centrald
 centrald
发布于 2016/01/29 20:30
字数 918
阅读 68
收藏 5
点赞 1
评论 0

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
粉丝 11
博文 68
码字总数 114870
作品 0
杭州
程序员
探究java IO之File类

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

柳哥 ⋅ 2014/11/13 ⋅ 1

java.IO.File类详解

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

marjey ⋅ 2016/10/25 ⋅ 1

Num19-----------IO流

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

萧小蚁 ⋅ 2016/02/19 ⋅ 0

异常及File类概述

一、异常 1、异常分类: Throwable:Throwable类是 Java 语言中所有错误或异常的超类。它只有两个子类 Error:属于严重问题,只能避免;如内存溢出(OutOfMemory) Exception:可以解决的异常问题...

走了丶 ⋅ 2017/08/10 ⋅ 0

Java文件操作

java.io包提供了大量的流类,其中所有输入流都是InputStream抽象类(字节输入流)和Reader抽象类(字符输入流)的子类,而所有的输出流都是OutputStream抽象类(字节输出流)和Writer抽象类(字符输...

MR_White ⋅ 2014/09/09 ⋅ 0

PHP自动加载类—__autoload()和spl_autoload_register()

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

晨曦之光 ⋅ 2012/03/09 ⋅ 0

java 1.7watchservice特性学习 文件变更监控

一、首先概述1.7版本上面的这个java.nio.file.WatchService类 1.1 WatchService 可以干什么? WatchService可以帮助我们监控一些文件是否做了更改,如果文件做了更改,可以帮助我们去做一些响...

Oscarfff ⋅ 2016/06/08 ⋅ 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

java的文件读写

1.这是第一篇文章,写的不错,你需要逐字逐句的去看,会发现分清楚字节流和字符流就好多了,然后我们需要看第二篇博客,如何相互转化。 第三篇是个例子,写的一般,不怎么样,可以参考,看看...

青帝弟 ⋅ 2016/01/13 ⋅ 0

Android第十六天

一:File类 文件和目录路径名的抽象表示形式。 public File(String pathname) public static final String separator public boolean createNewFile() 创建文件 public boolean delete() 删除......

黄晓磊 ⋅ 2016/06/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 32分钟前 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 40分钟前 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 50分钟前 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

【转】JS浮点数运算Bug的解决办法

37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) 我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 怎么会这样,两个只有一位小数的数字相乘,怎...

NickSoki ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部