千殇937 2021-11-15 16:37 采纳率: 50%
浏览 37

Java IO随机流 读取乱码和自动换行

public class TsetWiteTeade {

public static void main(String[] args) {
    TsetWiteTeade tw = new TsetWiteTeade();
    tw.writeToFileRead(new File("D:\\a学习\\javaIO\\IO.txt"));
}

public void writeToFileRead(File file) {
    RandomAccessFile raf = null;
    Scanner sc = null;
    try {
        raf = new RandomAccessFile(file, "rw");
        raf.setLength(0);    //清空文件内容
        sc = new Scanner(System.in);
        String str = null;
        int len = 0;
        System.out.println("请输入要写入文件的内容(以#号结束):");
        byte[] datas = null;
        while (!(str = sc.nextLine()).equals("#")) {
            datas = str.getBytes();            //转字节,防止中文乱码
            raf.write(datas);
            raf.write("\n".getBytes());        //设置转行,将"\n"转字符
        }
        System.out.println("写入成功");
        raf.seek(0);//设置指针到最前,因为前面写入会让指针指向末尾        
        while (raf.getFilePointer() < raf.length()) {
            len = raf.read(datas);
            System.out.println(new String(datas,0,len));
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }finally {
        if (raf != null) {
            try {
                raf.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if (sc != null) {
            sc.close();
        }
    }
}

}

img

  • 写回答

1条回答 默认 最新

  • 普通网友 2021-11-15 17:32
    关注

    输出的时候加下编码格式即可

    评论

报告相同问题?

问题事件

  • 创建了问题 11月15日

悬赏问题

  • ¥20 微信h5网页如何静默获取到用户的基本信息(头像昵称)
  • ¥15 有做通信软件的技术团队吗
  • ¥15 如图所示交换机网络该如何规划配置
  • ¥15 CUDA driver error
  • ¥15 Dijkstra 算法的堆优化方法
  • ¥15 师哥师姐们,如何帮我下载一下python?
  • ¥15 Office版本升级,Oracle连接报错
  • ¥20 利用python搜索PDF文件中是否存在1
  • ¥15 ImportPathMismatchError
  • ¥15 滤波器这个效果是对的么