编写一个类,读取硬盘上的一个文本文件,并且每次读取一行内容, 将每行作为一个String读入,并将String对象置入LinkedList中,最后按照相反的顺序打印出所有行。JavaI/O关键是要分清各种类组合的使用,掌握常用的几种组合是关键。还有集合类的学习,熟悉各种容器的属性才知道什么时候用什么容器才能达到目的。
package com.dylan.java.io;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedList;
public class BufferedInputFile {
/**
* 编写一个类,读取硬盘上的一个文本文件,并且每次读取一行内容, 将每行作为一个String读入,
* 并将String对象置入LinkedList中, * 最后按照相反的顺序打印出所有行
*/
public static void main(String[] args) {
try {
// 创建FileReader读取文件,字符形式读取文件的,支持Unicode编码
FileReader fr = new FileReader("C:\\Users\\Administrator\\Desktop\\职场30守则.txt");
// 使用BufferedReader封装FileReader,BufferedReader有缓冲读取的功能
BufferedReader br = new BufferedReader(fr);
String str;
// 指定类型的LinkedList
LinkedList<String> al = new LinkedList<String>();
// 按照readLine()读取的顺序把每行内容添加到al中
while ((str = br.readLine()) != null) {
al.add(str);
}
// 按照倒叙打印出LinkedList的内容,使用其get(int index )方法
int sq = al.size() - 1;
for (int i = 0; i < al.size(); i++) {
System.out.println(al.get(sq));
sq = sq - 1;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}