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类学习基础代码

  • 2014-04-29 18:05
  • 15KB
  • 下载

黑马程序员 File对象,结合流对象一起使用,弥补流对象的不足,properties类的重要应用(毕向东)

File类常见方法: 1,创建。 boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。 和输出流不一样,输出流对象一建立创建文件。而...

java工具类——file

IO包File类

file类 位于IO包中 对象对应磁盘文件,通过File类的方法可以对文件进行相应的操作:createNewFile();创建文件getPath();返回文件路径new File(String s);...

java中File类总结

  • 2012-02-25 19:56
  • 34KB
  • 下载

file工具类

JavaLearning:File类

package org.fun.classdemo; import java.io.File; import java.io.IOException; public class FileDemo ...

java-io-file类笔记

  • 2015-09-10 00:43
  • 42KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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