JavaSE的IO流系列教程(1-4)—— File类的创建文件和获取文件目录

26 篇文章 0 订阅
17 篇文章 0 订阅

摘要:

您好!当您打开此文件时,意味着你再IO流知识上出现了欠缺。如果你想仔细学习一下JavaSE的IO流部分知识,可以仔细阅读下面的知识点。
本文为系列文章的第一篇
第二篇:JavaSE的IO流系列教程(2-4)——OutputStream类和InputStream类
第三篇:JavaSE的IO流系列教程(3-4)——BufferedStream类和BufferedReader类
第四篇 :JavaSE的IO流系列教程(4-4)——FileUtils工具类和Properties类


引言:

首先要搞清楚的概念:
  • 什么是IO流?
    IO流就是把数据当成无结构的字节序字符序列的方式进行输入输出。
  • 输入和输出的概念?
    输入是相对程序而言的,把数据读取到程序中为输入。

File类:

File类的创建文件和删除文件的功能
  • 创建文件
public static void function() throws IOException{
	File file = new File("D:\\myfrist.txt");
	boolean b = file.createNewFile();
	//结果:在D盘下创建了myfrisr.txt文件
}
  • 创建文件夹
File file = new File("D:\\abc");
boolean b = file.mkdirs();
//结果:在D盘下创建了abc文件夹
  • 删除文件
    删除的文件不经过回收站,所以在删除时需要谨慎。
File file = new File("D:\\myfrist.txt");
boolean b = file.delete();
//结果:删除了D盘下的myfrist.txt文件

File类的获取功能
  • 获取路径中的最后部分的名字
//String getName()返回路径中表示的文件或文件夹名
public static void function{
	File file = new File("D:\\abc\\myfrist.txt");
	String fileName = file.getName();
	//输出结果为:myfrist.txt
}
  • 获取文件的字节数

    File file = new File("D:\\myfist.txt");
    long filelength = file.length();

  • 获取绝对路径

  File file = new File("src");
  File absolute = file.getAbsoluteFile();

  • 获取父路径
File file = new File("D:\\java\\workSpace\\Day23");
File parent = file.getParentIFile().getParentFile();
  • 获取 路径中的所有文件和文件夹
	File file = new File("D:\\java");
	File[] list = file.listFiles();
	for(File f :list){
		System.out.println(f);
		}
  • 获取根目录
File[] fileArr = File.listRoots();
for(File  f : fileArr){
	System.out.println(f);
	}

使用案例(删除文件)

  • 删除指定类型的文件
例如一个文件夹中有
在D:目录下有
1.txt  1.java  1.rar	1.zip
文件夹abc  ...
在D:\abc目录下有
2.txt  2.java 
文件夹bc
在D:\abc\bc目录下有
3.txt  3.java文件
如果想要获取里面所有的“.java”文件,可以采用下面的方法
  • 首先要创建自定义过滤器
public class MyJavaFilter implements FileFilter{
	public boolean accept(File pathname){
		if(pathname.isDirectory())
			return true;
	return pathname.getName().toLowerCase().endsWith(".java");
	}
}
  • 然后实现功能
public static void main(string [] args){
	File dir = new File("D:\\");
	getAllJava(dir);
}
	//获取目录中的所有java文件
public static void getAllJava(File dir){
	//调用File对象方法listFiles()获取,加入过滤器
	//File[] fileArr = dir.listFiles();//获取全目录文件
	File[] fileArr = dir.listFiles(new MyJavaFilter());
	for(File file : fileArr){
		if(file.isDirectory()){
			//递归进入文件夹遍历
			getAllJava(file);
		}else{
			System.out.println(file);
		}
	}
}

思维导图复习篇


回到文首
知识在于积累,知识在于分享。
本文只代表个人观点,如有错误,欢迎在下方评论。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值