File类

原创 2013年12月04日 21:01:14


1. File类
在Java语言的java.io包中,由File类提供了描述文件和目录的操作与管理方法
作用:File类主要用于命名文件、查询文件属性和处理文件目录

构造方法摘要

File(File parent, String child) 这个child可以使一个文件名也可以是一个子目录      这个parent是一个File对象
          根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。

File(String pathname)   这里的路径名可以是一个目录也可以是一个文件     
          通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

File(String parent, String child)       这个parent为一个目录,parent事先必须存在,否则异常
          根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

File(URI uri)  通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例

 一个对应于某磁盘文件或目录的File对象一经创建, 就可以通过调用它的方法来获得文件或目录的属性。    

       1)public boolean exists( ) 判断文件或目录是否存在(测试磁盘中指定的文件或目录是否存在
       2)public boolean isFile( ) 判断是否文件
       3)public boolean isDirectory( )判断是否目录
       4)public String getName( )返回文件名或目录名
       5)public String getPath( )返回文件或目录的路径(相对路径)。
       6)public StringgetAbsolutePath()返回文件或目录的路径(绝对路径)。
       7)public long length( )获取文件的长度 
       8)public String[ ] list ( )将目录中所有文件名保存在字符串数组中返回。 (返回目录中所有文件名字符串)
       File类中还定义了一些对文件或目录进行管理、操作的方法,常用的方法有:
       1) public boolean renameTo( File newFile );    重命名文件
       2) public void delete( );   删除文件
       3)
public boolean mkdir( ); 创建目录(创建文件对象指定的目录(单层目录)
       4)public boolean createNewFile();创建文件对象指定的文件
其中:File.speparator的作用是判断在不同的系统中斜杠的方向,在windows中斜杠的方向是向右斜的\\在Linux中斜杠的方向是向左斜的//,所以可见File.speparator具有跨平台性,是程序更加健壮。建议采用这种方法代替\\或者//

下面举几个例子更好的说明File类:
// 获取某一目录下后缀名为".txt"的所有文件名
	public static void main(String[] args) {

		File dir = new File("D:\\File");

		if (!dir.exists()) {
			//创建目录
			dir.mkdir();
			System.out.println("该目录不存在!");
		}
		// 返回目录中所有文件名字符串
		String[] names = dir.list();

		for (String name : names) {
			if (name.endsWith(".txt"))
				System.out.println(name);
		}
	}
// 递归遍历某一目录下所有文件和目录
	public static void main(String[] args) {
		File dir = new File("D:\\File");
		showDir(dir, 0);
	}

	public static void showDir(File dir, int level) {
		System.out.println(getLevel(level) + dir.getName());
		level++;
		//列出该目录中的所有文件
		File[] files = dir.listFiles();
		for (int x = 0; x < files.length; x++) {
			//判断files[x]是否为目录
			if (files[x].isDirectory()) {
				showDir(files[x], level);
			} else {
				//获取文件名
				System.out.println(getLevel(level) + files[x].getName());
			}
		}
	}

	public static String getLevel(int level) {

		StringBuilder sb = new StringBuilder();
		sb.append("|--");
		for (int x = 0; x < level; x++) {
			sb.insert(0, "|  ");
		}
		return sb.toString();
	}

删除一个带内容的目录

分析:删除目录这时应该用delete()方法,而该方法提示此路径名表示一个目录,则该目录必须为空才能删除,所以这种有内容的目录的情况下,就不能直接删除。需要遍历该目录下的所有文件,直到某个文件为止,也就是“从内往外删”。
需要用到的方法:listFiles()得到当前目录下的所有文件,isDirectory()判断是不是目录,不是目录,则删除。
代码:
// 删除一个带内容的目录
	public static void main(String[] args) {
		File dir = new File("D:\\File");
		deleteDir(dir);
	}
	public static void deleteDir(File dir) {
		// 列出该目录中的所有文件
		File[] files = dir.listFiles();
		for (int x = 0; x < files.length; x++) {
			// 判断是不是目录
			if (files[x].isDirectory()) {
				deleteDir(files[x]);
			} else {
				files[x].delete();
			}
		}
		dir.delete();
	}

File类使用详解

疯狂java讲义读书笔记之File类的使用详解File类是java io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成。File不能访问文件内容本...
  • nightcurtis
  • nightcurtis
  • 2016年05月12日 17:28
  • 2609

C++的File类文件操作

语言文件系统称为流文件(Stream),正文流(正文文件),二进制流(二进制文件) 缓冲与非缓冲文件 顺序操作文件与随机操作文件 顺序文件:读/写第K个数据块之前必须读/写第1至K-1个数据块; 随机...
  • jiahehao
  • jiahehao
  • 2007年11月02日 11:16
  • 18545

java 操作文件File类

File 文件类 用来将文件或者文件夹封装成为对象。 方便对文件与文件夹的属性信息进行操作。 File对象可以作为参数传递给流的构造函数。 File 类的常用的方法。import java.i...
  • u011129848
  • u011129848
  • 2016年05月28日 23:14
  • 4814

解析Java中的File类

File(文件类)        尽管java.io定义的大多数类是实行流式操作的,File类不是。它直接处理文件和文件系统。也就是说,File类没有指定信息怎样从文件读取或向文件存储;它描述了文件本...
  • shichexixi
  • shichexixi
  • 2010年05月06日 15:44
  • 23302

(java)中file类的常用方法

转载网址1:http://blog.csdn.net/wanghai__/article/details/6251087 Java.io.File类主要是完成了文件夹管理的命名、查询文件属性和处理目...
  • shuaiby
  • shuaiby
  • 2014年02月21日 14:34
  • 12462

IO流_File类的概述和构造方法

package cn.itcast_01; import java.io.File; /* * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式。 * 而Java就提供了一个类File供...
  • L1585931143
  • L1585931143
  • 2017年01月18日 21:49
  • 1539

Java中File类的例子

/** file对象是对文件的操作。具体方法有以下几类 File 的构造方法:   1)创建File(String parent,String child)      new出File对象之后...
  • u011521890
  • u011521890
  • 2015年09月28日 22:40
  • 1214

Java中的File文件类详解

Java中的File文件类详解文件操作在Java的io操作中占有十分重要的地位,本文从以下几个方面来接受Java中对文件的操作。 1. Java中新建或者删除一个文件,文件夹以及createNewF...
  • u013309870
  • u013309870
  • 2016年08月02日 22:00
  • 8573

Android File类

Android File类
  • CodeFarmerCXY
  • CodeFarmerCXY
  • 2017年02月07日 16:02
  • 1308

Java_基础—File类练习

需求:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名
  • SoarFly0807
  • SoarFly0807
  • 2017年07月26日 21:33
  • 271
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:File类
举报原因:
原因补充:

(最多只允许输入30个字)