欢迎访问宙启技术站
智能推送

怎么用Java函数批量操作文件?

发布时间:2023-06-24 21:40:46

Java函数提供了各种各样的文件操作方法,可以实现对单个文件或批量文件的增删改查等操作。以下是使用Java函数批量操作文件的步骤:

1. 获取文件所在的文件夹路径

使用File类的listFiles()方法可以获取文件夹下的所有文件和文件夹。例如,下面的代码可以获取当前文件夹下所有文件的路径:

File dir = new File(".");
File[] files = dir.listFiles();
for (File file : files) {
  if (file.isFile()) {
    System.out.println(file.getPath());
  }
}

2. 文件夹遍历

如果需要遍历子文件夹,可以使用递归的方式:

public void traverseFolder(File dir) {
  if (dir.isDirectory()) {
    File[] files = dir.listFiles();
    for (File file : files) {
      if (file.isDirectory()) {
        traverseFolder(file);
      } else {
        System.out.println(file.getPath());
      }
    }
  } else {
    System.out.println("输入的路径不是文件夹");
  }
}

3. 创建文件夹

使用File类的mkdirs()方法可以创建文件夹和中间的父文件夹(如果需要的话),例如:

File dir = new File("D:\\test\
ewFolder");
if (!dir.exists()) {
  boolean success = dir.mkdirs();
  if (success) {
    System.out.println("文件夹创建成功");
  } else {
    System.out.println("文件夹创建失败");
  }
} else {
  System.out.println("文件夹已经存在");
}

4. 创建文件

使用File类的createNewFile()方法可以创建文件,例如:

File file = new File("D:\\test\
ewFile.txt");
if (!file.exists()) {
  boolean success = file.createNewFile();
  if (success) {
    System.out.println("文件创建成功");
  } else {
    System.out.println("文件创建失败");
  }
} else {
  System.out.println("文件已经存在");
}

5. 删除文件

使用File类的delete()方法可以删除文件或者文件夹,例如:

File file = new File("D:\\test\
ewFile.txt");
if (file.exists()) {
  boolean success = file.delete();
  if (success) {
    System.out.println("文件删除成功");
  } else {
    System.out.println("文件删除失败");
  }
} else {
  System.out.println("文件不存在");
}

需要注意的是,如果删除的是文件夹,则必须先删除其内部文件或者文件夹再删除自身。

6. 读取文件

使用FileInputStream类可以读取文件的内容,例如:

File file = new File("D:\\test\\readme.txt");
if (file.exists()) {
  FileInputStream fis = new FileInputStream(file);
  InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8);
  BufferedReader br = new BufferedReader(isr);
  String line;
  while ((line = br.readLine()) != null) {
    System.out.println(line);
  }
  br.close();
  isr.close();
  fis.close();
} else {
  System.out.println("文件不存在");
}

7. 写入文件

使用FileOutputStream类可以往文件里写入内容,例如:

File file = new File("D:\\test\\write.txt");
if (!file.exists()) {
  boolean success = file.createNewFile();
  if (success) {
    FileOutputStream fos = new FileOutputStream(file);
    OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
    String content = "Hello World!";
    osw.write(content);
    osw.flush();
    osw.close();
    fos.close();
    System.out.println("文件写入完成");
  } else {
    System.out.println("文件创建失败");
  }
} else {
  System.out.println("文件已经存在");
}

以上就是使用Java函数批量操作文件的步骤,通过这些方法,我们可以方便的实现对多个文件或文件夹的增删改查。需要注意的是,文件操作一定要小心谨慎,避免误操作导致不可挽回的后果。