题目
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class TestDemo {
public static void main(String[] args) throws IOException {
BufferedReader br = null;
List<String> list = new ArrayList<String>();//集合存放内容
try {
FileInputStream fis = new FileInputStream("Files\\test.txt");//文件路径
Reader r = new InputStreamReader(fis, "GBK");//使用GBK编码
br = new BufferedReader(r);
String s;
while ((s = br.readLine()) != null) {//非空判断
list.add(s);//读出的内容放入集合
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (br != null) {//非空判断
br.close();//刷新并关闭流
}
}
// for (int i = 0; i < list.size(); i++) {
// System.out.println(list.get(i));
// }
PrintWriter pw = null;
try {
FileOutputStream fos = new FileOutputStream("Files\\test2.txt");//创建第二个文件路径并写入
Writer w = new OutputStreamWriter(fos, "UTF-8");//使用UTF-8
pw = new PrintWriter(w);
for (int i = list.size() - 1; i >= 0; i--) {//倒置遍历
pw.println(list.get(i));//将集合内内容写入文件
}
} catch (Exception e) {
e.getStackTrace();
} finally {
if (pw != null) {//非空判断
pw.close();//刷新并关闭流
}
}
}
}
由于编码不一致,写入的内容是乱码的!(如果解决乱码,写入和)