Java文件处理函数集锦:如何读写文件及文件夹遍历?
发布时间:2023-11-23 06:18:51
Java是一种跨平台的编程语言,提供了丰富的文件处理函数,方便我们对文件和文件夹进行读写和遍历。下面将介绍一些常用的Java文件处理函数及使用方法。
1. 读取文件:
Java提供了多种读取文件的方式,下面是其中两种常用的方式。
- 使用java.io包中的File类和BufferedReader类,可以逐行读取文本文件内容。具体代码如下:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
public class FileReadExample {
public static void main(String[] args) {
try {
File file = new File("path/to/file.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 使用java.nio.file包中的Files类,可以一次性读取整个文件内容。具体代码如下:
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FileReadExample {
public static void main(String[] args) {
try {
Path path = Paths.get("path/to/file.txt");
byte[] content = Files.readAllBytes(path);
String text = new String(content);
System.out.println(text);
} catch (Exception e) {
e.printStackTrace();
}
}
}
2. 写入文件:
Java提供了多种写入文件的方式,下面是两种常用的方式。
- 使用java.io包中的File类和BufferedWriter类,可以逐行写入文本文件内容。具体代码如下:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
public class FileWriteExample {
public static void main(String[] args) {
try {
File file = new File("path/to/file.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write("Hello, World!");
bw.newLine();
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 使用java.nio.file包中的Files类,可以一次性写入整个文件内容。具体代码如下:
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FileWriteExample {
public static void main(String[] args) {
try {
Path path = Paths.get("path/to/file.txt");
String content = "Hello, World!";
byte[] bytes = content.getBytes();
Files.write(path, bytes);
} catch (Exception e) {
e.printStackTrace();
}
}
}
3. 文件夹遍历:
Java提供了多种遍历文件夹的方式,下面是其中两种常用的方式。
- 使用java.io包中的File类的listFiles()方法,可以获取文件夹中的所有文件和子文件夹。具体代码如下:
import java.io.File;
public class FolderTraversalExample {
public static void main(String[] args) {
try {
File folder = new File("path/to/folder");
File[] files = folder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
System.out.println("Folder: " + file.getName());
} else {
System.out.println("File: " + file.getName());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 使用java.nio.file包中的Files类和Files.walk()方法,可以递归遍历文件夹中的所有文件和子文件夹。具体代码如下:
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FolderTraversalExample {
public static void main(String[] args) {
try {
Path folderPath = Paths.get("path/to/folder");
Files.walk(folderPath)
.forEach(path -> {
if (Files.isDirectory(path)) {
System.out.println("Folder: " + path.getFileName());
} else {
System.out.println("File: " + path.getFileName());
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上就是Java文件处理函数集锦,包括如何读写文件和文件夹遍历的方法及代码示例。通过这些函数,我们可以方便地对文件和文件夹进行操作,实现各种文件处理的需求。
