java中操作文件的类是java.io.File类
下面介绍几种常见的操作方法
1.创建文件夹
使用java类中mkdir()方法或者mkdirs()方法。
其中mkdir()方法只会创建一个文件夹,mkdirs()可以创建多层文件夹/*其中mkdir和mkdirs方法的区别(以创建 C:\\Test\\Demo1 为例)
如果Test父文件夹存在并且该父文件夹下Demo1文件不存在,使用mkdir()才会创建文件夹
如果该父文件夹下Demo1文件已经存在mkdir()也不会创建文件夹会返回false
如果Test父文件夹不存在,使用mkdirs()会成功创建文件夹Test父文件夹和子文件夹Demo1*/@Test public void TestMkdirAndMkdirs(){ //演示java中创建文件的两种方法 //1.创建一个File类 其中路径为要创建的文件路径(如果文件已经存在那么就会创建失败) //2.调用File类的mkdir或者mkdirs方法,这两种方法的返回值都为boolean类型 /*其中mkdir和mkdirs方法的区别(以创建 C:\\Test\\Demo1 为例) 如果Test父文件夹存在并且该父文件夹下Demo1文件不存在,使用mkdir()才会创建文件夹 如果该父文件夹下Demo1文件已经存在mkdir()也不会创建文件夹会返回false 如果Test父文件夹不存在,使用mkdirs()会成功创建文件夹Test父文件夹和子文件夹Demo1*/ File file = new File("D:\\Test\\TestIoMethod1") ; if (file.mkdirs()){ System.out.println("创建成功!"); }else { System.out.println("创建失败!"); } }
2.列出文件夹的内容
所谓列出文件夹的所有内容(使用File类中的方法list() 或者 listFiles()方法 ) 就是如果A文件夹存在子文件夹B C D。。。就把B C D 。。。列出来 这个方法主要用来遍历某一个文件夹 遍历到该文件是非文件夹的形式 而是一个单纯的文件 说一下list()和listFiles()方法的区别和相同之处 list()的返回值是String[] 该String[]是所有子文件夹/子文件的名称 listFiles() 的返回值是File[] File[]中是所有子文件夹/文件的File对象,这个方法常用来文件的遍历
@Test public void TestListAndListFiles(){ /* 所谓列出文件夹的所有内容(使用File类中的方法list() 或者 listFiles()方法 ) 就是如果A文件夹存在子文件夹B C D。。。就把B C D 。。。列出来 这个方法主要用来遍历某一个文件夹 遍历到该文件是非文件夹的形式 而是一个单纯的文件 说一下list()和listFiles()方法的区别和相同之处 list()的返回值是String[] 该String[]是所有子文件夹/子文件的名称 listFiles() 的返回值是File[] File[]中是所有子文件夹/文件的File对象,这个方法常用来文件的遍历 */ File file = new File("D:\\javaCode\\sky-take-out\\sky-server\\src"); String[] list = file.list(); System.out.println(Arrays.toString(list)); System.out.println("-----------------"); File[] files = file.listFiles(); for(File newfile : files) System.out.println(newfile.getName()); }
3.删除文件
/* 删除文件要用到File类中的delete()方法 该方法的返回值是一个boolean类型 当成功删除返回true 否则返回false 只要当该File文件夹没有子文件夹时才会被删除成功 否则删除失败 */
@Test public void TestDelete(){ /* 删除文件要用到File类中的delete()方法 该方法的返回值是一个boolean类型 当成功删除返回true 否则返回false 只要当该File文件夹没有子文件夹时才会被删除成功 否则删除失败 */ File file1 = new File("D:\\javaCode\\sky-take-out\\sky-server\\TestIoMethod1"); File file2 = new File("D:\\javaCode\\sky-take-out\\sky-server\\src"); System.out.println("file1删除情况"+file1.delete()); System.out.println("--------------------"); System.out.println("file2删除情况"+file2.delete()); }
4.遍历文件(使用File.listFiles())
以遍历文件查找某一个名称的文件为例
public class Tets01 { public static void traverse(File parentFile) { if (parentFile.isFile()) { if (parentFile.getName().equals("CategoryController.java")) { System.out.print(parentFile.getPath()); } else { return; } } else if (parentFile.isDirectory()) { File[] files = parentFile.listFiles(); if (files != null) { for (File file : files) { traverse(file); } } } } public static void main(String[] args) { File file = new File("D:\\javaCode\\sky-take-out"); traverse(file); } }