Java IO 系统学习之File类

本文详细介绍Java IO中的File类基本用法,包括文件和文件夹的创建、删除、遍历及路径判断等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近想看些Java基础NIO的东西,但有大神说得先懂IO再看NIO于是乎又重新认识一下IO。

话说网上有不少关于IO的文章,也帮助了我不少。那么我也本着人人为我,我为人人的宗旨贡献几篇系统的学习,也顺便记录一下学习的过程希望能帮助到别人。那么Java IO到底都具体有哪些类,做了什么东西呢?java编程思想有云java1.0起初编写java io目的就是为了减少IO类使它使用更方便一些。但是看到这一坨坨类就被生生的打脸了。


这是还是部分类截图O(∩_∩)O~。。。

那么这么多类我们要怎么开始学习呢?那么博主就带你走进IO的世界 come on !!!gogogo 。看java编程思想上讲解IO就是先从File类说起那么我也学学他先说一下File类!

首先我们创建一个文件:

public static void CreateFile(){
		String pathName = "d:"+File.separator+"javaIOStudy.txt";
		File f  = new File(pathName);
		try {
			f.createNewFile();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

执行后再我们的D盘就会生成一个javaIOStudy.txt的文件,这里要说一下【File.separator】根据源码可以得知它可以在UNIX系统中转换为"\",在windows系统中转换为"\\"。

那我们再删除这个文件

	public static void DelFile(){
		String pathName = "D:"+File.separator+"javaIOStudy.txt";
		File f = new File(pathName);
		f.delete();
	}

D盘下txt文件消失

创建一个文件夹

	public static void CreateFileDir(){
		String pathName ="D:"+File.separator+"javaIOStudy";
		File f = new File(pathName);
		//Creates the directory named by this abstract pathname.
		//(源码翻译)根据这个绝对路径创建一个文件夹,言外之意如果这个路径找不到就返回False创建失败.例如d:\javaIOStudy\test1这个就会创建失败
		f.mkdir();  
		/* Creates the directory named by this abstract pathname, including any
	     * necessary but nonexistent parent directories.  Note that if this
	     * operation fails it may have succeeded in creating some of the necessary
	     * parent directories.
	     */
		//(源码翻译)根据指定的pathname创建文件目录,但创建过程中会产生父级目录。需要注意的是如果最终操作失败,它可能已经成功创建了父级目录.
		//综合以上两个方法如果你的目录为D:\\aaa那么可以使用f.mkdir() 如果目录为D:\\aaa\\bbb\\ccc那么就必须使用f.mkdirs()
		f.mkdirs();
	}

这段代码中的注释明确指出了f.mkdir()和f.mkdirs()方法的具体含义,我就不再过多阐述。

遍历D盘下文件名称【包括隐藏文件】

	public static void FileNameListByPathName(){
		String pathName = "d:"+File.separator;
		File f = new File(pathName);
		String[] fileName = f.list(); //f.list()方法返回的只是文件名称数组
		for(String str : fileName){
			System.out.println(str);
		}
	}

遍历指定目录下的文件[包括隐藏文件]

	public static void FileListByPathName(){
		String pathName = "D:"+File.separator+"opt"+File.separator+"argo"+File.separator+"log";
		File f = new File(pathName);
		File[] file = f.listFiles();//f.listFiles()返回文件的数组
		for(File tempF : file){
			System.out.println(tempF.getName()+"PathBy:"+tempF.getPath());
		}
	}
判断一个路径是否是一个目录

	public static void FilePathNameIsDir(){
		String pathName = "D:"+File.separator;
		File f = new File(pathName);
		if(f.isDirectory())
			System.out.println("是一个路径哦");
		else
			System.out.println("并不是一个路径");
	}

以上为我总结的File类的基本用法,当然还有很多没有说清楚,但是学习就是循环渐进,有时候先学会用着回头再来看又会多层理解。这也许就是学而时习之可以为师矣吧,IO类还没有说完,我们未完待续。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值