1、写入到txt文件
/**
* @description: 写入到txt文件通用方法
* @params: List<String>---写入的数据list、fileName文件名
* @return: void
* @auther: WZH
* @date: 2019/9/12 17:54
*/
public static void writeToTxt(List<String> list,String fileName){
if(list!=null&&list.size()>0){
FileWriter writer;
try {
writer = new FileWriter(fileName);
FileWriter finalWriter = writer;
list.forEach(one->{
try {
finalWriter.write(one+"\r\n");
} catch (IOException e) {
e.printStackTrace();
}
});
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* @description: 封装数据
* @params: null
* @return: void
* @auther: WZH
* @date: 2019/9/12 18:16
*/
public void writeDataDict() {
List<String> strings = new ArrayList<>();
List<Datadict> main = factory.selectFrom(qDatadict).where(qDatadict.typeId.eq(-1)).orderBy(qDatadict.dvalue.asc()).fetch();
main.forEach(one->{
StringBuffer buffer = new StringBuffer();
buffer.append(one.getDvalue()).append("、").append(one.getDname()).append("---");
List<Datadict> item = factory.selectFrom(qDatadict).where(qDatadict.typeId.eq(one.getDvalue())).orderBy(qDatadict.dvalue.asc()).fetch();
item.forEach(two->{
buffer.append(two.getDvalue()).append("、").append(two.getDname()).append(",");
});
strings.add(buffer.toString());
});
CommonUtil.writeToTxt(strings,"D:\\111.txt");
}
注意:在不同系统中换行符的区别:
Windows下的文本文件换行符:\r\n
Linux下的文本文件换行符:\r
Mac下的文本文件换行符:\n
2、读取txt文件的数据
/**
* @description: 逐行读取文件
* @params: fileName
* @return: List<String>
* @auther: WZH
* @date: 2019/9/12 18:42
*/
public static List<String> readTxt(String fileName){
List<String> list = new ArrayList<>();
BufferedReader br;
try {
Reader reader = new FileReader(fileName);
br = new BufferedReader(reader);
String line;
while(null != (line = br.readLine())){
list.add(line);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
return list;
}