File类的学习总结

一.File类的简介

File类是java.io包中唯一代表磁盘本身的对象。可以通过File类中的方法,实现创建、删除、重命名文件等操作。File类的对象主要是用来获取文件本身的一些信息,如文件所在的目录、文件的长度、文件的读写权限等。数据流可以将数据写入到文件中,文件也是数据流最常用的数据媒体。

二.文件的创建于删除 

通常可以使用以下3种构造方法来创建文件 :

1.File(String pathname)

该构造方法通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。

具体语法如下所示:

new File(String pathname)

pathname是指路径名称(包含文件名)。例如:

File f   = new File("d:/txt");

2.File(String parent,String child)

该路径根据构造方法定一个的父路径和子路径字符串(包含文件名)创建一个新的File对象。

语法如下:

parent:父类路径名。例如,D:/或者D:/file

child:子类路径名。例如,children.txt。

3.File(File f,String child)

该构造方法根据parent的抽象路径名和child路径名字符串创建一个新的File实例。

 语法如下:

new File(File f,String child)

f:父路径对象;例如,E:/或者E:/file

child:子路径字符串;例如,children.txt。

注意:在windows平台中,文件的路径名前缀由驱动器号和一个“:”组成。如果是绝对路径名,还可能跟“\\”。

 接下来举一个实例:创建一个类FileDemo,判断E盘中是否存在test.txt,若已存在,就将刚创建的对象删除,若不存在,就创建一个新的文件。因为E盘中存在此文件所以输出“文件已删除”。

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

public class FileDemo {
	public static void main(String []args){
		File f = new File("test.txt");
		if(f.exists()){
			f.delete();
			System.out.println("文件已删除");
		}
		else{
			try {
				f.createNewFile();
				System.out.println("文件已创建");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

输出结果:

三. 获取文件信息

在File类中,它提供了很多的方法。下面是一个表格,仅供参考。当然也可以参考API文档;

方法 返回值 说明
getName() String 获取文件的名称
canRead() boolean 判断文件是否为可读的
canWriter() boolean 判断文件是否为可被写入
exits() boolean 判断文件是否存在
length() long 判断文件的长度(以字节为单位)
getAbsolutePath() String 获取文件的绝对路径
getParent() String 判断文件的父路径
isFile() boolean 判断文件是否存在
isDirectory() boolean 判断文件是否为一个目录
isHidden() boolean 判断是否为隐藏文件
lastModified() long 获取文件最后修改时间

 下面有个实例:获取test.txt文件的文件名、文件长度、是否可读、是否为隐藏文件。

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

public class FileDemo {
	public static void main(String []args){
		File f = new File("test.txt");
		if(f.exists()){     //判断文件名是否存在,如果存在
			String filename=f.getName();
			long length=f.length();
			boolean b1=f.canRead();
			boolean h1=f.isHidden();
			System.out.println("输出文件名"+filename);
			System.out.println("输出文件长度"+length);
			System.out.println("输出文件是否可读"+b1);
			System.out.println("输出文件是否隐藏"+h1);
		}
		else{
			try {
				f.createNewFile();
				System.out.println("文件已创建");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
}

因为文件test.txt已经存在,所以会输出一下结果;

输出结果:

猜你喜欢

转载自blog.csdn.net/coder150806/article/details/84638702
今日推荐