txt的读写代码,项目中在用的代码:
package xx.xx.xx.xx.utils;
import java.io.*;
import java.util.*;
/**
* @Author xiarg
* @CreateTime 2022/08/30 11:02
*/
public class TxtFileUtil {
/**
*
* 一行一行读取文件,解决读取中文字符时出现乱码
* @param filePath
* @author :xiarg
* @date : 2022/8/30 11:03
*/
public static List<String> readFile(String filePath) {
FileInputStream fis= null;
InputStreamReader isr= null;
BufferedReader br = null;
List<String> resultList = new ArrayList<>();
try {
fis = new FileInputStream(filePath);
isr = new InputStreamReader(fis, "UTF-8");
br = new BufferedReader(isr);
String line ;
while ((line=br.readLine())!=null) {
resultList.add(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
//注意关闭的先后顺序,先打开的后关闭,后打开的先关闭
try {
if(null != br){
br.close();
}
if(null != isr){
isr.close();
}
if(null != fis){
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return resultList;
}
/**
*
* 一行一行写入文件,解决写入中文字符时出现乱码
* @param filePath
* @author :xiarg
* @date : 2022/8/30 11:03
*/
public static void writeFile(String filePath,List<String> dataList) {
File file = new File(filePath);
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
//写入中文字符时解决中文乱码问题
FileOutputStream fos= null;
OutputStreamWriter osw= null;
BufferedWriter bw= null;
try {
fos = new FileOutputStream(filePath,true);
osw = new OutputStreamWriter(fos, "UTF-8");
bw = new BufferedWriter(osw);
for(String arr:dataList){
bw.write(arr+"\t\n");
}
bw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
//注意关闭的先后顺序,先打开的后关闭,后打开的先关闭
try {
if(null != bw){
bw.close();
}
if(null != osw){
osw.close();
}
if(null != fos){
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/89033.html