import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TxtUtils {
/**
* 逐行读取TXT并处理,转为Map或者其它Object
*/
public void readTxtToObject() {
Map<String, String> map = new HashMap<String, String>();
try {
String path = "src/test.txt";
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(path)), "UTF-8"));
String lineTxt = null;
// 逐行读取
while ((lineTxt = br.readLine()) != null) {
// 每行数据以逗号分隔
String[] names = lineTxt.split(",");
// 处理数据, 可以转成entity, 在这儿转换成map
map.put(names[0], names[1]);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("map.size()=" + map.size());
}
/**
* 逐行读取TXT文件并打印到控制台
*/
public ArrayList<String> readTxt() {
try {
String path = "src/test.txt";
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(path)), "UTF-8"));
String lineTxt = null;
ArrayList<String> list = new ArrayList<>();
// 逐行读取
while ((lineTxt = br.readLine()) != null) {
// 输出内容到控制台
list.add(lineTxt);
}
br.close();
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 方法1写入txt
*
* @param filePath
* @param message
* @throws IOException
*/
public void writetoTxt1(String folder, String filename, String message) throws IOException {
File files = new File(folder);
files.mkdirs();
File file = new File(folder + File.separator + filename);
file.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write(message);
out.flush();
}
/**
* 方法2写入txt
*
* @param foler
* @param file
* @param messageList
* @throws FileNotFoundException
*/
public void writeToTxt(String folder, String file, List<String> messageList) throws FileNotFoundException {
File files = new File(folder);
files.mkdirs();
FileOutputStream fos = new FileOutputStream(folder + File.separator + file);
// 逐行写入
PrintWriter pw = new PrintWriter(fos);
for (String message : messageList) {
pw.println(message);
}
pw.close();
}
public static void main(String[] args) {
TxtUtils txtUtils = new TxtUtils();
txtUtils.readTxt();
}
}
java读写txt
最新推荐文章于 2024-04-14 15:08:19 发布