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);
}
}