大三了,目前基础太差了,重新学习过!代码如下,里面都有详细的解释每一行代码代表的意思~
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()); } } }