在之前的学习过程中,经常会遇到将文本文件中的数据读取到数组或其他数据结构中。每次遇到,总是在网上搜索代码解决,解决之后并没有总结复习,因此在下一次遇到同样的问题时,又重复之前的过程。这样周而复始,并没有将知识积累下来,其实是把自己给坑了(对此深有体会)。因此经过两天的学习,对文件读取这一方面有了一定的了解,写下博客,总结一些东西,以备后续查询。
文本文件读取的大致过程如下:
构建文件对象,
使用文件对象构造Reader对象可以是FileReader、InputStreamReader等
使用Reader对像构建BufferedReader对象(主要使用其readLine()方法,用于按行读取文件)
按行读取文件,将每行获取到的字符串进行处理。
下面给出使用FileReader实现将文本文件读取至一维数组:
public static int[] toArrayByFileReader1(String name) {//使用ArrayList来存储每行读取到的字符串
ArrayList arrayList = new ArrayList<>();try{
FileReader fr= newFileReader(name);
BufferedReader bf= newBufferedReader(fr);
String str;//按行读取字符串
while ((str = bf.readLine()) != null) {
arrayList.add(str);
}
bf.close();
fr.close()