java基础-File类使用

           File(文件)类,我们可能会认为它指代的是文件,实际上却并非如此。它技能代表一个特定的文件的名称,又能代表一个目录下的一组文件的名称。如果它指的是一个文件集,我们就可以对此集合调用list()方法,这个方法会返回一个字符数据 String []。FilePath(文件路径)对这个类来说是更好的名字。(此段截取自Think in java 第四版)

1、访问文件名相关方法;

String getName(): 返回此File对象所表示的文件名或者路径名(如果是路径,则返回最后一级子路径名,比如上面例子中的 ".")。       

String getPath(): 返回此File对象所对应的路径名。

File getAbsoluteFile(): 返回此File对象的绝对路径

String getAbsolutePath: 返回此File对象的绝对路径

String getParent(): 返回此File对象对应目录(最后一级子目录)的父目录名

boolean reanameTo(File newName): 重命名返回此File对象对应的文件或者目录

2、文件检测相关方法;

boolean exists();

boolean canWrite();

boolean isFile();

boolean isDirectory();

boolean isAbsolute();在UNIX/Linux系统上,绝对路径开头是一条斜线‘/’,在Windows系统上,绝对路径开头是盘符,例如:E:\

3、获取常规文件信息;

long lastModified(): 文件最后的修改时间

long length(): 文件内容的长度 (The length, in bytes, of the file denoted by this abstract pathname, or0L if the file does not exist)

4、文件操作相关方法;

boolean createNewFile():

boolean delete():

static FilecreateTempFile(String prefix, String suffix): 在默认的临时文件目录中创建一个临时的空文件,使用给定的前缀、系统生成的随机数个给定的后缀来作为文件名

static FilecreateTempFile(String prefix, String suffix, File directory): 和上类似,指定了目录而已

void deleteOnExit(): 钩子~~~java虚拟机退出的时候,删除File对象对应的文件和目录,想象下就知道了~~~多形象

5、目录操作相关方法

boolean mkdir():

String []list(): 列出File对象所有子文件名和路径名

File[] listFiles(): 列出File对象所有子文件名和路径名

static File() listRoots():列出系统所有的根路径!

直接运行以下程序:

<pre name="code" class="java">package com.neo.FileAndPathTest;
import java.io.File;

public class PathTest {
	public static void main(String[] args) {
		File filetest1 = new File(".");
		String name = filetest1.getName();
		String AbsolutePath = filetest1.getAbsolutePath();
		String nullParentPath = filetest1.getParent();
		String rightParentPath = filetest1.getAbsoluteFile().getParent();
		filetest1.length();
		//File parentFile = currentDir.getParentFile(); 
		System.out.println("该File对象指向的文件或者文件集(目录)是否为绝对路径:"+filetest1.isAbsolute());
		System.out.println("该File对象指向的文件或者文件集(目录)的名字"+name);
		//返回值为空
		System.out.println("该File对象指向的文件或者文件集(目录)的上层路径获取结果"+nullParentPath);
		System.out.println("该File对象指向的文件或者文件集(目录)的绝对路径"+AbsolutePath);
		System.out.println("该File对象指向的文件或者文件集(目录)上层路径的正确获取方式结果:"+rightParentPath);
		System.out.println("该File对象指向的文件或者文件集(目录)对应的路径名"+filetest1.getPath());
		//java.lang.NullPointerException
		//System.out.println(parentFile.getName());
		System.out.println("=============================================================");
		//java中反斜线'\'表示转义字符,window下路径表示为:E:\Local,此处则要用\\表示路径分隔符
		File fileTest2 = new File("E:\\Local");
		if(fileTest2.isAbsolute()){
			System.out.println(fileTest2.getParent());
		}
		System.out.println("该File对象指向的文件或者文件集(目录)是否存在:"+fileTest2.exists());
		System.out.println("该File对象指向的是否为文件:"+fileTest2.isFile());
		System.out.println("该File对象指向的是否为文件集(目录):"+fileTest2.isDirectory());
		if(fileTest2.isDirectory()){
			//两种方式都可以,建议用第二种方式,foreach循环
			/*String []files = fileTest2.list();
			for(int i=0; i<files.length; i++){
				System.out.println(files[i]);
			}*/
			for(String item : fileTest2.list()){
				System.out.println(item);
			}
		}
		File [] root = File.listRoots();
		for (File item : root){
			System.out.println(item);
		}
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值