JavaSE File类详细介绍

一.创建文件对象的三种形式

package cn.itcast.file;

import java.io.File;

public class FileDemo {
	public static void main(String[] args) {
		File file=new File("E:\\demo\\a.txt");
		File file2=new File("E:\\demo", "a.txt");
		File file3=new File("E:\\demo");
		File file4=new File(file3, "a.txt");
	}
}
上述三种方式都是一样的,可以运行程序,并没有发现e盘创建了这个目录以及这个目录下的文件

二.创建文件夹以及文件

		File file=new File("E:\\demo");
		System.out.println("mkdir"+file.mkdir());
上述代码帮我们在E盘目录下创建文件夹

File file2 = new File("e:\\demo\\a.txt");
System.out.println("createNewFile:" + file2.createNewFile());
上述代码会在E:\\demo目录文件夹下帮我们创建a.txt文件.但是前提是E:\\demo文件夹必须存在,如果不存在会报错!

		 File file4 = new File("e:\\test\\aaa");
		System.out.println("mkdir:" + file4.mkdir());
同理如果E:\\test文件夹不存在就会报错!只有在E:\\test文件夹存在的情况下才会帮我们创建文件夹aaa

		File file7 = new File("e:\\aaa\\bbb\\ccc\\ddd");
		System.out.println("mkdirs:" + file7.mkdirs());
调用mddirs()这个方法会帮我们创建目录,因此即使E:\\没有对应的文件夹,这个函数会帮我们创建!

File file4 = new File("aaa\\bbb\\ccc");
System.out.println("delete:" + file4.delete());
删除文件或者文件夹,只用当上级目录存在的前提下才会删除,如果上级目录不存在就会返回false

三.修改文件的文件名

package cn.itcast.file;

import java.io.File;

public class FileDemo3 {
	public static void main(String[] args) {
		File file=new File("火.jpg");
		File newFile=new File("李卫康.jpg");
		System.out.println("reNameto:"+file.renameTo(newFile));
	}
}
调用renameTo(File file)会修改为指定的文件名

四.判断文件的功能

package cn.itcast.file;

import java.io.File;

public class FileDemo4 {
	public static void main(String[] args) {
		
	// 创建文件对象
	File file = new File("a.txt");
	System.out.println("isDirectory:" + file.isDirectory());// false
	System.out.println("isFile:" + file.isFile());// true
	System.out.println("exists:" + file.exists());// true
	System.out.println("canRead:" + file.canRead());// true
	System.out.println("canWrite:" + file.canWrite());// true
	System.out.println("isHidden:" + file.isHidden());// false
	}
}
打印结果:

isDirectory:false
isFile:true
exists:true
canRead:true
canWrite:true
isHidden:false

五.判断文件夹的功能

package cn.itcast.file;

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

public class FileDemo5 {
	public static void main(String[] args) throws IOException {
		File file=new File("demo");
		file.mkdir();
		File file2=new File("demo\\a.txt");
		file2.createNewFile();
		System.out.println("getAbsolutePath:" + file.getAbsolutePath());
		System.out.println("getPath:" + file.getPath());
		System.out.println("getName:" + file.getName());
		System.out.println("length:" + file.length());
		System.out.println("lastModified:" + file.lastModified());
		
	}
}
打印结果:

getAbsolutePath:E:\workspace\goingover\IO\demo
getPath:demo
getName:demo
length:0
lastModified:1439174745771
六.list()方法以及listFiles()方法

package cn.itcast_07;

import java.io.File;

/*
 * 获取功能:
 * public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
 * public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
 */
public class FileDemo {
	public static void main(String[] args) {
		// 指定一个目录
		File file = new File("e:\\");

		// public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
		String[] strArray = file.list();
		for (String s : strArray) {
			System.out.println(s);
		}
		System.out.println("------------");

		// public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
		File[] fileArray = file.listFiles();
		for (File f : fileArray) {
			System.out.println(f.getName());
		}
	}
}
打印结果:E:\\目录下的文件夹以及文件的名称

七.如何获取指定目录下的指定文件

1.

package cn.itcast.file;

import java.io.File;

public class FileDemo7 {
	public static void main(String[] args) {
		File file=new File("E:\\");
		File[] files = file.listFiles();
		for(File f:files){
			if(f.isFile()){
				if(f.getName().endsWith(".jpg")){
					System.out.println(f.getName());
				}
			}
		}
	}
}

2.使用过滤器

package cn.itcast.file;

import java.io.File;
import java.io.FilenameFilter;

public class FileDemo8 {
	public static void main(String[] args) {
		File file=new File("E:\\");
		String [] strArray=file.list(new FilenameFilter() {
			@Override
			public boolean accept(File dir, String name) {
//				File file=new File(dir,name);
//				if(file.isFile()&&name.endsWith(".jpg")){
//					return true;
//				}
//				return false;
				return new File(dir,name).isFile()&&name.endsWith(".jpg");
			}
		});
		for(String s:strArray){
			System.out.println(s);
		}
	}
}
打印结果:E:\\目录下的以.jpg结尾的文件的名字










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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值