直接上代码
package demo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
//文本文件与集合之间数据的拷贝
public class IODemo2 {
public static void main(String[] args) throws IOException {
// 创建list集合
ArrayList<String> arrayList = new ArrayList<>();
// 向集合添加数据
arrayList.add("data1");
arrayList.add("data2");
arrayList.add("data3");
// if (!arrayList.isEmpty()) {
// list2txt(arrayList, "list2txt.txt");
// }
if (!arrayList.isEmpty()) {
arrayList.clear();
txt2list(arrayList, "list2txt.txt");
}
}
// 把集合的数据,拷贝到文本文件中
public static void list2txt(ArrayList<String> arrayList, String fileName)
throws IOException {
// 创建输出缓冲流
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
// 循环遍历list集合
for (int i = 0; i < arrayList.size(); i++) {
String data = arrayList.get(i);
writer.write(data);
writer.newLine();
writer.flush();
}
writer.close();
System.out.println("集合数据拷贝到文件完成!");
}
// 把文本文件的数据,拷贝到集合中
public static void txt2list(ArrayList<String> arrayList, String fileName)
throws IOException {
// 创建输入缓冲流
BufferedReader reader = new BufferedReader(new FileReader(fileName));
// 读取数据,没读取一行,把改行数据作为元素存储到集合中
String line;
while ((line = reader.readLine()) != null) {
arrayList.add(line);
}
reader.close();
System.out.println("文本文件拷贝到集合完成!集合输出为:");
for (int i = 0; i < arrayList.size(); i++) {
System.out.println(arrayList.get(i));
}
}
}