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结尾的文件的名字

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 19:45:27

JavaSE File类详细介绍的相关文章

Java File类的介绍

用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图.抽象路径名 有两个组件: 一个可选的与系统有关的前缀 字符串,比如盘符,"/" 表示 UNIX 中的根目录,"\\\\" 表示 Microsoft Windows UNC 路径名,以及 零个或更多字符串名称 的序列. 除了最后一个,抽象路径名中的每个名称代表一个目录:最后一个名称既可以代表目录,也可以代表文件.空的 抽象路径名没有前缀和名称序列. 路径

《一》File 类的介绍

File 类:文件和目录路径名的抽象表示. 注意:File 类只能操作文件的属性,文件的内容是不能操作的.   1.File 类的字段   我们知道,各个平台之间的路径分隔符是不一样的. ①.对于UNIX平台,绝对路径名的前缀始终为"/" . 相对路径名没有前缀. 表示根目录的抽象路径名具有前缀"/"和空名称序列. ②.对于Microsoft Windows平台,包含驱动器说明符的路径名的前缀由后面跟着":"的驱动器号组成,如果路径名是绝对的,则

原子操作类(一)原子操作类详细介绍

引言 ??Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作.原子变量的底层使用了处理器提供的原子指令,但是不同的CPU架构可能提供的原子指令不一样,也有可能需要某种形式的内部锁,所以该方法不能绝对保证线程不被阻塞. ??因为变量的类型有很多种,所以在Atomic包里一共提供了13个类,可分为4种类型的原子更新方式,分别是 原子更新基本类型 原子更新数组 原子更新引用 原子更新属性(字段) Atomic包里的类基

MFC常用的类详细介绍

常用的MFC类 CRuntimeClass结构 在CRuntimeClass结构中定义了类名.对象所占存储空间的大小.类的版本号等成员变量及动态创建对象.派生关系判断等成员函数.每一个从CObject类派生的类都有一个CRuntimeClass结构同它关联,以便完成在运行时得到对象的信息或基类的信息. 要使用CRuntimeClass结构,必须结合使用RUNTIME_CLASS()宏和其他有关运行时类型识别的MFC宏. CObject类 MFC的CObject类为程序员提供了对象诊断.运行时类型

java常用类详细介绍及总结:字符串相关类、日期时间API、比较器接口、System、Math、BigInteger与BigDecimal

一.字符串相关的类 1.String及常用方法 1.1 String的特性 String:字符串,使用一对""引起来表示. String声明为final的,不可被继承 String实现了Serializable接口:表示字符串是支持序列化的. 实现了Comparable接口:表示String可以比较大小 String内部定义了final char[] value用于存储字符串数据 String:代表不可变的字符序列.简称:不可变性. 体现: 当对字符串重新赋值时,需要重写指定内存区域赋

Hibernate核心类和接口详细介绍

一.hiobernate核心类和接口预览图 二.hibernate.properties 这个文件是以前老版本使用的 类似于hibernate.cfg.xml文件:作用和hibernate.cfg.xml一致. 三.hibernate.cfg.xml (1)详细介绍 ①该文件主要用于指定各个参数,是hibernate核心文件 ②默认放在src目录下,也可以放在别的目录下. ③指定连接数据库的驱动.用户名.密码.url.连接池.. ④指定对象关系映射文件的位置. ⑤也可使用hibernate.pr

View类和surfaceView详细介绍

View类和surfaceView详细介绍: view类: view类是Android的一个超类,这个类几乎包含了所有的屏幕类型,每一个view都有一个用于绘画 的画布,这个画布可以进行任意的扩展.布局视图可以通过Android的XML来进行.在游戏开发中当然也可以自定义视图(view),让这个画布的功能更能满足我们在游戏开发是的需要,在Android中,任何一个view类只需要重写onDraw方法来实现界面显示,自定义视图可以是复杂的3D实现,也可以是简单地文本形式等. 游戏中最重要的就是与玩

几类常见的试验箱详细介绍!

为了方便检验商品的质量和特点,是必须检测其在不一样自然环境下的主要表现,为了方便对产品品质开展操纵,各式各样的试验箱请变成许多制造业企业不可或缺的关键机器设备. 试验箱的类型有许多,下边欧可仪器设备将几类常见的试验箱开展详细介绍: 高温试验箱: 高温试验箱关键是适用工业品高溫.超低温的可靠性测试,可以依照国家行业标准或顾客规定,仿真模拟各种各样的超低温或高溫自然环境,用以检测商品的工艺性能和高溫.超低温自然环境下其各类性能参数,来分辨商品的特性是不是可以合乎预订规定,便于对设计产品.改善.评定及

PHP模板引擎smarty详细介绍

篇文章主要介绍了PHP模板引擎smarty详细介绍,本文讲解了什么是smarty.smarty优点.不适合使用smarty的地方.smarty目录结构及版本,需要的朋友可以参考下 /* 一.什么是smarty? smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲, 目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要. 二.smarty优