JAVA-IO——File类的使用

5 篇文章 1 订阅
4 篇文章 0 订阅

title:JAVA IO——File类的使用

JAVA IO——File类的使用

1.File类

  • File只用于表示文件(目录)的信息(大小,名称等),不能用于文件内容的访问。
  • File位于java.io下

2.路径名的分隔

我们知道不同平台上的路径名的分隔符也是不同的。

以Windows为例:

D:\\java\\io\\file类
//路径名通常用\\分隔

3.File类的构造函数

构造函数描述
File(File parent, String child)File从父抽象路径名和子路径名字符串创建新实例。
File(String pathname)File通过将给定的路径名字符串转换为抽象路径名来创建新实例。
File(String parent, String child)File从父路径名字符串和子路径名字符串创建新实例。
File(URI uri)File通过将给定的file:URI转换为抽象路径名来创建新实例 。

代码演示:

		//抽象路径“D:\\java\\io\\file”,使用字符串构造实例
		File file = new File("D:\\java\\io\\file");
		System.out.println(file);//输出 D:\java\io\file
		
		//使用父抽象路径,和子路径字符串构造实例
		File file1 = new File(file,"test1.txt");
		System.out.println(file1);//输出 D:\java\io\file\test1.txt
		
		//通过给定路径字符串构造实例
		File file2 = new File ("D:\\java\\io\\file\\test2.txt");
		System.out.println(file2);//输出 D:\java\io\file\test2.txt

4.file类的常用方法

修饰符和类型方法描述
booleancanRead()测试应用程序是否可以读取此抽象路径名表示的文件。
booleancanWrite()测试应用程序是否可以修改此抽象路径名表示的文件。
booleancreateNewFile()当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件。
booleandelete()删除此抽象路径名表示的文件或目录。
booleanexists()测试此抽象路径名表示的文件或目录是否存在。
FilegetAbsoluteFile()返回此抽象路径名的绝对形式。
StringgetAbsolutePath()返回此抽象路径名的绝对路径名字符串。
StringgetName()返回此抽象路径名表示的文件或目录的名称。
StringgetParent()返回此抽象路径名父项的路径名字符串,或者 null此路径名未指定父目录。
booleanisDirectory()测试此抽象路径名表示的文件是否为目录。
booleanisFile()测试此抽象路径名表示的文件是否为普通文件。
longlength()返回此抽象路径名表示的文件的长度。
String[]list()返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录。
File[]listFiles()返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。
booleanmkdir()创建此抽象路径名指定的目录。
booleanmkdirs()创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。

代码演示:

		File f1 = new File("D:\\io");
		File f2 = new File("D:\\io.txt");
		
		//判断“D:\\io”是否存在
		System.out.println(f1.exists());//输出false
		
		
		//如果“D:\\io”不存在则创建目录
		if(!f1.exists()) {
			f1.mkdir();
		}
		
		//判断“D:\\io”是否为文件,如果“D:\\io”不存在返回false
		System.out.println(f1.isDirectory());// 输出 true
				
				
		//判断“D:\\io.txt”存不存在,如果不存在则创建,并判断“D:\\io.txt”是否为文件
		if(!f2.exists()) {
			f2.createNewFile();
		}
		System.out.println(f2.isFile());//输出 true
		
		
		System.out.println(f1.getName());// 输出 io
		System.out.println(f1.getAbsolutePath()); //输出 D:\\io
		System.out.println(f2.getParent());// 输出 D:\
		System.out.println(f2.length());// 输出 0

5.遍历一个目录下的所有文件


	public void listDirctory(File dir) throws IOException {
		if(!dir.exists()) {
			throw new IllegalArgumentException("目录"+dir+"不存在");
		}
		else if(!dir.isDirectory()) {
			throw new IllegalArgumentException(dir+"不是目录");
		}
		File[] files = dir.listFiles();
		if (files!=null && files.length>0) {
			for (File f : files) {
				if (f.isDirectory()) {
					listDirctory(f);
				}
				else {
					System.out.println(f);
				}
			}
		}
	}


转载请注明:https://blog.csdn.net/qq_43544492/article/details/84894638

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值