java学习笔记课后习题求解!

2025-05-14 05:28:59
推荐回答(3个)
回答1:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class UTFDemo {

    public static void main(String[] args) {
        writeFile(readFile("C:\\Documents and Settings\\xxx\\桌面\\action查询.txt"));
    }

    /**
     * 读文件操作
     * @param path 文件路径
     * @return
     */
    public static String readFile(String path) {
        BufferedReader reader = null;
        StringBuffer sb = new StringBuffer();
        try {
            reader = new BufferedReader(new FileReader(new File(path)));
            String line;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                reader.close();
            } catch (IOException e) {}
        }
        return sb.toString();
    }

    /**
     * 写文件操作
     * @param str 字符串
     */
    public static void writeFile(String str) {
        BufferedWriter writer = null;
        try {
            File file = new File("C:/output.txt");
            if (!file.exists()) file.createNewFile();
            writer = new BufferedWriter(new FileWriter(file));
            str = new String(str.getBytes("GBK"), "UTF-8");// 转换文本编码方式
            writer.write(str);
            writer.flush();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                writer.close();
            } catch (IOException e) {}
        }
    }

}

回答2:

可以加一个 charset=utf-8

回答3:

楼下很厉害,我就不继续献丑了,只希望楼主采纳答案时候能够顺便给点分我。