package listdamo;
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 ioStreamTestArray {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
long start = System.currentTimeMillis();
//arrayListToFileDemo();
fileToArrayListDemo();
long end = System.currentTimeMillis();
System.out.println("共耗时:" + (end - start) + "毫秒");
}
/*
* 需求:把ArrayList集合中的字符串数据存储到文本文件
*
* 分析:
* 通过题目的意思我们可以知道如下的一些内容,
* ArrayList集合里存储的是字符串。
* 遍历ArrayList集合,把数据获取到。
* 然后存储到文本文件中。
* 文本文件说明使用字符流。
*
* 数据源:
* ArrayList<String> -- 遍历得到每一个字符串数据
* 目的地:
* bw4.txt -- FileWriter -- BufferedWriter
*/
public static void arrayListToFileDemo() throws IOException{
// 封装数据与(创建集合对象)
ArrayList<String> array=new ArrayList<String>();
array.add("hello");
array.add("world");
array.add("java");
// 封装目的地
BufferedWriter bw=new BufferedWriter(new FileWriter("bw4.txt"));
// 遍历集合
for(String ss:array){
// 写数据
bw.write(ss);
bw.newLine();
bw.flush();
}
// 释放资源
bw.close();
}
/*
* 需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合
*
* 分析:
* 通过题目的意思我们可以知道如下的一些内容,
* 数据源是一个文本文件。
* 目的地是一个集合。
* 而且元素是字符串。
*
* 数据源:
* bw4.txt -- FileReader -- BufferedReader
* 目的地:
* ArrayList<String>
*/
public static void fileToArrayListDemo() throws IOException{
// 封装数据源
BufferedReader br=new BufferedReader(new FileReader("bw4.txt"));
// 封装目的地(创建集合对象)
ArrayList<String> array =new ArrayList<String>();
// 读取数据存储到集合中
String line=null;
while((line=br.readLine())!=null){
array.add(line);
}
// 释放资源
br.close();
// 遍历集合
for(String ss:array){
System.out.println(ss);
}
}
//end class
}