java——File类

File类(java.io.File  注:代表一个文件或目录路径名字)
目录路径:UNIX:/   Windows:\\
常用方法:
构造方法
public File(String pathname)  #得到文件实例
普通方法  #获取基本信息(文件和目录共用)
public String getName()  #返回文件名字
public String getParent() #返回当前文件父目录
public String getPath()  #返回路径名字
public boolean canRead()   #判断此文件是否可读
public boolean canWrite()  #判断文件是否可写
public boolean exists()  #判断文件和目录是否存在
public boolean isDirectory()  #判断文件是否为目录
public boolean isFile()  #判断文件是否为文件
public boolean isHidden()  #判断文件是否隐藏
public  long lastModifiled()  #返回文件最后修改时间
public  long length()  #返回文件大小
#对文件操作
public boolean creatNewFile()  #文件不存在即创建
public boolean delete()   #删除文件
#对目录操作
public boolean mkdir()  #创建目录
public File[] listFiles()  #遍历目录
public String[] list()   #遍历目录(返回数组--文件名字或目录名字)
总结:
1)File类中,是目录即继续遍历,是文件即匹配(getName().contains())

2)File类只是创建一个文件实例,可对文件目录进行创建,删除,目录递归,各种判断,不能对文件内容进行读取

package com.youceedu.test.file;

import java.io.File;
import java.io.IOException;

public class TestFile {

	public static void loopFindDir(File f,String keyName) {
		
		if(f.isDirectory()) {   //如果是目录,创建一个File类型的数组,继续遍历
			File[] fileOrDir = f.listFiles();
			for(File fileDirSure:fileOrDir) {
				loopFindDir(fileDirSure,keyName);
			}
			
		}else {
			if(f.getName().equals(keyName))
			System.out.println("文件名为:"+f+"的长度为:"+f.length());//如果不是目录,即为文件,输出文件名
		}
	}
	public static void main(String[] args) {
		String rootDir = "D:\\a";
		String newName = "D:\\创建新目录";
	    //操作文件或者目录
		File f = new File(rootDir);  //实例化一个File类的对象
		if(!f.exists()) {
			f.mkdir();
			try {
				f.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		else {
			System.out.println(rootDir.length());//输出这个字符串类型的变量的长度
			System.out.println("文件的大小:"+f.length());  
			System.out.println("文件的名字:"+f.getName());
			System.out.println("文件的父目录:"+f.getParent());
			System.out.println("文件所在路径:"+f.getPath());
			System.out.println("该对象是不是一个目录:"+f.isDirectory());
			System.out.println("该对象是不是一个文件:"+f.isFile());
			System.out.println("该文件是否可读:"+f.canRead());
			System.out.println("该文件是否可写:"+f.canWrite());
			System.out.println("该文件最后一次修改的时间:"+f.lastModified());
		}
		
		//对文件的操作
		File newFile = new File(newName);
		if(!newFile.exists()) {
			try {
				newFile.createNewFile();   //不存在即创建一个文件
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		else {
			newFile.delete();   //存在即删除该文件
		}
		
		File fdList = new File(newName);   //创建一个File类对象
		if(!fdList.exists()) {        //如果不存在这个目录,即创建一个新的目录
			fdList.mkdirs();
		}
		else {
		String[] listName = fdList.list();
		for(String fileListName:listName)    //遍历目录并输出该目录下的文件及目录名
		System.out.println(fileListName);
		}
		
		//File pathList = new File();
		File[] fdPath = fdList.listFiles();
		for(File pathName:fdPath) {           //遍历目录并输出该目录下的文件路径
			System.out.println(pathName);
		}
		File[] fArray = f.listFiles();
		for(File fArrayName:fArray) {           //遍历目录并输出该目录下的文件路径
			System.out.println(fArrayName);
		}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值