package util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.springframework.util.StringUtils;
public class FileUtil {
/**
* @Title: writeFileByLines
* @Description: 按行写文件
* @param fileName
* @param strs
* @param append 是否追加
* @throws IOException
* @date: 2021-01-25 12:32
*/
public static void writeFileByLines(String fileName, String[] strs, boolean append) throws IOException {
FileWriter fw = new FileWriter(fileName, append);
for (String str : strs) {
fw.write(str);
fw.write("\n");//换行
}
fw.flush();
fw.close();
}
/**
* @Title: readFile
* @Description: 读取文件内容
* @param filePathAndName 绝对路径
* @param encoding 编码格式
* @return String
* @date: 2021-01-25 12:39
*/
public static String readFile(String filePathAndName,String encoding) {
String fileContent = "";
try {
if (StringUtils.isEmpty(encoding)) {
encoding = "UTF-8";
}
File f = new File(filePathAndName);
if (f.isFile() && f.exists()) {
InputStreamReader read = new InputStreamReader(new FileInputStream(f), encoding);
BufferedReader reader = new BufferedReader(read);
String line;
while ((line = reader.readLine()) != null) {
fileContent += line;
}
read.close();
}
} catch (Exception e) {
System.out.println("读取文件内容操作出错");
e.printStackTrace();
}
return fileContent;
}
/**
* @Title: readTxtFileToListString
* @Description: 读取txt文本文件
* @param filePath
* @param encoding 编码格式
* @return List<String>
* @date: 2021-01-25 12:32
*/
public static List<String> readTxtFileToListString(String filePath, String encoding) {
List<String> listContent = new ArrayList<>();
try {
if (StringUtils.isEmpty(encoding)) {
encoding = "UTF-8";
}
File file = new File(filePath);
if (file.isFile() && file.exists()) { // 判断文件是否存在
InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);// 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while ((lineTxt = bufferedReader.readLine()) != null) {
// System.out.println(lineTxt);
listContent.add(lineTxt);
}
read.close();
} else {
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
return listContent;
}
}