IO流练习题

题目

在这里插入图片描述


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();//刷新并关闭流
			}
		}
	}
}

由于编码不一致,写入的内容是乱码的!(如果解决乱码,写入和)
在这里插入图片描述

发布了115 篇原创文章 · 获赞 175 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_44170221/article/details/104931782