一.创建文件对象的三种形式
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