大三了,目前基础太差了,从新学习过!代码以下,里面都有详细的解释每一行代码表明的意思~java
package IODemo; import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; public class FileDemo { public static void main(String[] args) { // File表示一个文件或者目录 // "d:\\test\\test.txt" 或者 "d:/test/test.txt") File f1 = new File("d:\\test\\test.txt"); if(!f1.exists()){ //判断该文件是否存在,若是不存在就建立 try { f1.createNewFile(); // 建立该文件 System.out.println("文件建立成功!"); } catch (IOException e) { e.printStackTrace(); } } // f1.isDirectory() 若是是文件夹就返回 true 不是就返回false System.out.println("f1是不是文件:"+f1.isFile()); File f2 = new File("d:\\test\\my"); // 这个路径中my文件夹 这个文件夹之中有文件 boolean b = f2.delete(); // 用变量b接受 看 删除的结果 System.out.println("删除的结果是:"+b); // 返回的是 false 没有删除这个文件夹,必需要删除这个文件夹里面的文件才能够删除这个文件夹 String[] names = f2.list();//列出该目录下的全部文件名 System.out.println( Arrays.toString(names)); //打印出String数组里面的东西 File[] fs = f2.listFiles(); //列出当前目录下的全部文件,而且以file 对象返回 for (File f : fs) { // for循环的加强 就是说遍历File集合中的每个File对象f System.out.println("lenght="+f.length()); System.out.println("name="+f.getName()); System.out.println("相对路径="+f.getPath()); System.out.println("绝对路径="+f.getAbsolutePath()); System.out.println("是否为隐藏文件="+f.isHidden()); Date date = new Date(f.lastModified());// 获取文件的最后修改的日期 须要用日期类进行格式化 DateFormat df = new SimpleDateFormat("HH:MM:SS"); // 格式化 System.out.println("日期:"+df.format(date)); } //文件夹的操做 File f3 = new File("d:\\test\\wang"); f3.mkdirs(); // mkdirs()是建立文件夹中的文件夹 都没有的状况下用 和mkdir()只建立一个没有的文件夹 System.out.println("文件夹建立成功"); //重命名 与移动 文件夹 // f3.renameTo(new File("d:\\test\\wang1")); //若是放到其余的地方的话就是 移动这个文件夹 f3.renameTo(new File("d:\\wang")); // 补充f2 中的打印文件名 过滤器 File f4 = new File("d:\\test\\my"); File[] files = f4.listFiles(new FileFilter() { // new一个接口出来过滤 @Override public boolean accept(File pathname) { return pathname.getName().endsWith(".txt"); //过滤结尾为 txt的文件 } }); for (File f : files) { System.out.println(f.getName()); } } }