0820--File类

File类是用来操作文件或目录属性而不可以操作文件内容的类。

文件目录分隔符
在这里插入图片描述
File的构造方法
在这里插入图片描述
如何创建File对象(三种构造方法)
1、File f = new File("D:/myDir/hello.txt");
2、File f = new File(“D:/myDir”, “hello.txt”);
3、File parent = new File("D:/myDir"); File f = new File(parent, "hello.txt");

File类操作文件的常用方法
在这里插入图片描述
在这里插入图片描述
代码示例

package test1;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

import org.junit.Test;

import utils.IOUtils;

/**
 * @author ShanHai:
 * @version 创建时间:2021年8月20日 上午10:53:32
 */
public class TestIo {
	/**
	 * 需求:将计算机D盘根目录中所有的mp3格式的文件名称输出到控制台 
	 * 创建File对象dir,以D盘路径作为方法的参数
	 * 通过File对象dir的list方法获得该目录下的所有文件及目录,并保存到数组中 遍历该数组,					   	通过File类的isFile方法判断是否是文件
	 * 如果是文件,通过String类的常用方法判断该文件的后缀是否是mp3格式 
	 * 向控制台输出满足条件的文件名称
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		// 创建File对象,指定文件所在的目录(文件夹)
		// File f=new File("C"+File.separator+"Users\\Lenovo\\Documents");
		File f = new File("C:\\Users\\Lenovo\\Documents\\Hello");
		File[] fs = f.listFiles();// 获得当前目录(文件夹)下所有的文件及文件夹(File对象)
		// 遍历数组,打印输出所有文件
		// 判断后缀名mp3
		for (File fi : fs) {
			// System.out.println(fi);
			// System.out.println(fi.getName());
			if (fi.isFile()) {// 判断是否是文件
				if (fi.getName().endsWith("mp3")) {// 是文件判断是否是mp3 .endsWith
					System.out.println(fi.getName());
				}
			}
		}
		// 判断后缀名txt
		for (File fi : fs) {
			String name = fi.getName();// 获取文件名
			if ("txt".equals(IOUtils.getSuffix(name))) {// 判断文件后缀名是txt
				System.out.println(name);
			}
		}
	}

	/**
	 * 查询磁盘中是否存在指定文件 通过Scanner对象接收用户输入的文件路径 判断这个路径是否是一个文件,如果是则提示系统存在该文件
	 * 判断文件是否可读,如果是则提示该文件可读
	 */
	@Test
	public void test1() {
		// 创建并实例化File对象
		File f = new File("C:\\Users\\Lenovo\\Documents\\Hello");
		System.out.print("请您输入一个文件名:");
		String name = new Scanner(System.in).next();
		// listFiles():获得文件夹中所有的文件及文件夹
		for (File fi : f.listFiles()) {
			if (name.equals(fi.getName())) {// 获得文件的名称
				System.out.println("找到了你要查找的文件,文件名是:" + fi.getName());
				if (fi.canRead()) {// 判断文件是否可读可写
					System.out.println("可读");
					System.out.println(fi.canWrite());
				}
			}
		}
	}

	/**
	 * exists:判断文件是否存在
	 */
	@Test
	public void test2() {
		File f = new File("C:\\Users\\Lenovo\\Documents\\Hello\\三国演义第1回.txt");
		System.out.println(f.exists());
	}
	/**
	 * isFil判断File对象是否是文件或isDirectory文件夹
	 */
	@Test
	public void test3() {
		File f = new File("C:\\Users\\Lenovo\\Documents\\Hello\\三国演义第1回.txt");
		System.out.println(f.isFile());//判断File对象是否是一个文件,true为是
		
		File f1 = new File("C:\\Users\\Lenovo\\Documents\\Hello");
		System.out.println(f1.isDirectory());//判断File对象是否是一个文件夹。true代表是
	}
	/**
	 * createNewFile:创建文件
	 * @throws IOException 
	 */
	@Test
	public void test4() throws IOException {
		File f=new File("C:\\Users\\Lenovo\\Documents\\Hello\\三国演义第6回.doc");
		f.createNewFile();
		System.out.println("创建文件成功");
	}
	/**
	 * delete:删除文件
	 */
	@Test
	public void test5(){
		File f=new File("C:\\Users\\Lenovo\\Documents\\Hello\\三国演义第6回.doc");
		f.delete();
		System.out.println("文件删除成功");
	}
	/**
	 * getAbsolutePath:获得文件或文件夹的绝对路径(全路径)
	 */
	@Test
	public void test6(){
		File f=new File("C:\\Users\\Lenovo\\Documents\\Hello\\三国演义第5回.txt");
		System.out.println(f.getAbsolutePath());

	}
	/**
	 * mkdir:创建文件夹
	 * mkdirs:创建多级目录
	 */
	@Test
	public void test7(){
		File f=new File("C:\\Users\\Lenovo\\Documents\\Hello\\Java\\world");
		f.mkdirs();
		System.out.println("文件夹创建成功");
	}
	/**
	 * getParent:获取上级目录
	 */
	@Test
	public void test8(){
		File f=new File("C:\\Users\\Lenovo\\Documents\\Hello\\Java\\world");
		System.out.println(f.getParent());
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShanHai山海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值