JAVA获取txt、json等文件内容
本文主要讲述通过http请求读取文件和文件路径读取现有文件。
通过Http请求读取文件
前端调用接口(参数:文件信息),后端读取文件内容。
读取一个文件
@GetMapping("/readFile")
public void readFile(MultipartFile multipartFile) throws IOException {
InputStreamReader isr;
BufferedReader br;
StringBuilder txtResult = new StringBuilder();
try {
isr = new InputStreamReader(multipartFile.getInputStream(), StandardCharsets.UTF_8);
br = new BufferedReader(isr);
String lineTxt;
while ((lineTxt = br.readLine()) != null) {
txtResult.append(lineTxt);
System.out.println(lineTxt);
}
isr.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
读取多个文件
@GetMapping("/readFile")
public void readFile(MultipartFile[] multipartFiles) throws IOException {
for (MultipartFile multipartFile : multipartFiles) {
//调用读取一个文件方法
//上图方法复制过来。。。此处省略
}
}
通过路径读取文件
事先把文件放入相应路径下。这里统一放在resources目录下。
@GetMapping("/readFile")
public void readFile() throws IOException {
//第一种方法
InputStream path = this.getClass().getResourceAsStream("/aaa.txt");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(path, StandardCharsets.UTF_8));
String lineTxt;
while ((lineTxt = bufferedReader.readLine()) != null) {
System.out.println(lineTxt);
}
System.out.println("----------------");
//第二种方法
File file = new File("src/main/resources/aaa.txt");
FileInputStream fileInputStream = new FileInputStream(file);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8);
BufferedReader br = new BufferedReader(inputStreamReader);
while ((lineTxt = br.readLine()) != null) {
System.out.println(lineTxt);
}
}