基本的方法
1:File的每一个实例可以表示硬盘上的一个文件或目录(实际上表示的是一个抽象路径) File不能访问文件数据的
我们使用File可以做到:
1).访问其表示的文件或目录的属性信息(名字,大小,修改时间,权限等等)
2).创建或删除文件目录
3).访问一个目录中的子项信息
2:删除一个文件
3:使用file创建一个文件
4:访问一个目录中的子项
isFile()判断当前file表示的是否是一个文件
isDirectory()判断当前File是否表示的是一个文档
5:重载的ListFiles方法,允许我们传入一个文件过滤器FileFilter,然后将满足过滤器要求的子项获取回来
6:使用匿名内部类的形式创建文件过滤器
7:创建一个目录
8:删除一个目录
package file;
/**
* 使用file创建一个文件
*/
import java.io.File;
import java.io.IOException;
public class CreateNewFileDemo {
public static void main(String[] args) throws IOException {
//在当前目录下新建一个名为test.txt的文件
File file = new File("test1.txt");
/*
boolean exists()
判断当前File表示的文件或目录是否已经存在,存在则返回true
*/
if(file.exists()){
System.out.println("该文件已存在");
}else{
file.createNewFile();//创建该文件
System.out.println("文件已创建");
}
}
}
package file;
import java.io.File;
/**
* 删除一个目录
*/
public class DeleteDirDemo {
public static void main(String[] args) {
//将当前目录下的demo目录删除
File dir = new File("demo");
if (dir.exists()) {
dir.delete();
System.out.println("该目录已删除");
}else{
System.out.println("该目录不存在");
}
}
}
package file;
import java.io.File;
/**
* 删除一个文件
*/
public class DeleteFileDemo {
public static void main(String[] args) {
//删除当前项目下的test.txt文件
File file = new File("demo.txt");
//判断一下该文件是否存在
if(file.exists()){
file.delete();
System.out.println("文件已删除");
}else{
System.out.println("该文件不存在");
}
}
}
package file;
/**
* java.io.File
* File的每一个实例可以表示硬盘上的一个文件或目录(实际上表示的是一个抽象路径)
* 我们使用File可以做到:
* 1.访问其表示的文件或目录的属性信息(名字,大小,修改时间,权限等等)
* 2.创建或删除文件目录
* 3.访问一个目录中的子项信息
*
* File不能访问文件数据的
*
*/
import java.io.File;
public class FileDemo1 {
public static void main(String[] args) {
File file = new File("./demo.txt");
String name = file.getName();
System.out.println(name);
long len = file.length();
System.out.println(len+"字节");
boolean cr = file.canRead();
boolean cw = file.canWrite();
System.out.println("是否可读:"+cr);
System.out.println("是否可写:"+cw);
boolean ih = file.isHidden();
System.out.println("是否隐藏:"+ih);
}
}
package file;
import java.io.File;
import java.io.FileFilter;
/**
* 重载的ListFiles方法,允许我们传入一个文件过滤器FileFilter,然后将满足过滤器要求
* 的子项获取回来
*
*/
public class ListFileDemo2 {
public static void main(String[] args) {
//获取当前目录中所有名字含有"s"的子项
File dir = new File(".");
if(dir.isDirectory()){
MyFilter filter = new MyFilter();
/*
重载的listFiles方法内部会使用给定的过滤器,将目录中所有子项都传入给过滤
器的方法accept,并将返回值为true的子项最终返回
*/
File[] subs = dir.listFiles(filter);
System.out.println(subs.length);
for(int i=0;i<subs.length;i++){
System.out.println(subs[i].getName());
}
}
}
}
class MyFilter implements FileFilter{
public boolean accept(File file) {
String fileName = file.getName();
// int index = fileName.indexOf("s");
// return index !=-1;
//String 的contains方法是判断字符串是否包含给定的内容
return fileName.contains("s");
}
}
package file;
import java.io.File;
/**
* 访问一个目录中的子项
*/
public class ListFilesDemo {
public static void main(String[] args) {
//获取当前目录中的所有内容
File dir = new File(".");
/*
boolean isFile()
判断当前file表示的是否是一个文件
boolean isDirectory()
判断当前File是否表示的是一个文档
*/
if(dir.isDirectory()){
File[] subs = dir.listFiles();
System.out.println(subs.length);
for(int i=0;i<subs.length;i++){
System.out.println(subs[i].getName());
}
}
}
}
package file;
import java.io.File;
import java.io.FileFilter;
/**
* 使用匿名内部类的形式创建文件过滤器
*
*/
public class ListFilesDemo3 {
public static void main(String[] args) {
//获取当前目录中所有名字里含有"s"的子项
File dir = new File(".");
if(dir.isDirectory()){
File[] subs = dir.listFiles(new FileFilter( ){
public boolean accept(File file) {
return file.getName().contains("s");
}
});
System.out.println(subs.length);
for(int i=0;i<subs.length;i++){
System.out.println(subs[i].getName());
}
}
}
}
package file;
import java.io.File;
/**
* 创建一个目录
*/
public class MkDirDemo {
public static void main(String[] args) {
//当前目录下创建一个目录:demo
// File dir = new File("demo");
//当前目录下新建目录:./a/b/c/d/e/f
File dir = new File("a/b/c/d/e/f");
if(dir.exists()){
System.out.println("该目录已存在");
}else{
dir.mkdirs();
// dir.mkdir();
System.out.println("目录已创建");
}
}
}
package file;
import java.lang.reflect.Method;
public class Test1 {
public static void main(String[] args) throws ClassNotFoundException {
Class cls = Class.forName("java.util.Scanner");
Method[] method = cls.getMethods();
System.out.println(method.length);
for(Method method1 : method){
System.out.println(method1.getName());
}
}
}