侧边栏壁纸
  • 累计撰写 793 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

Dettan
2021-04-10 / 0 评论 / 0 点赞 / 182 阅读 / 607 字
温馨提示:
本文最后更新于 2022-07-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
/ 后端 / JAVA /
char使用Unicode一位置字符在jvm内部和外部黄精有不同的表现形式, 在jvm内部都是Unicode形式, 当这个字符被转移到外部时(例如存入文件系统中) , 需要进行编码转换. 所以java中有字节流和字符流,以及在字节流以及字符流中进行转换的转换流,如 InputStreamReader 和 OutputStreamReader, 这两个类是字节流和字符流之间的适配器,承担了转换任务;
写入文件(mac可用)
//mac 平台正常
//             result = new BufferedWriter(new FileWriter(output));
result = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(output), "UTF-8"));
result.append("原名,首拼,时长");
result.newLine();
Util.renameDirectory(input, OutPane);
//            outputStream.flush();
result.flush();
//            outputStream.close();
result.close();
csv文件乱码
result = new OutputStreamWriter(new FileOutputStream(new File("a.csv"), "gbk");
result.append("原文件名,新文件名\r\n");
result.append(file.getName() + "," + newFile.getName() + "\r\n");
Java 中有几种类型的流
按照流的方向:
输入流(inputStream)
输出流(outputStream)。
按照实现功能分:
节点流(可以从或向一个特定的地方(节点)读写数据。如 FileReader)
处理流(是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。)
按照处理数据的单位:
字节流 字节流继承于 InputStream 和 OutputStream,
字符流。 字符流继承于InputStreamReader 和OutputStreamWriter。




字节流和字符流的区别
1.
字节流读到一个字节就返回一个字节,字符流读到多个字节(中文对应的字节数是两个,在UTF-8中是3个字节)时先去查指定的编码表,将查到的字符返回
2.
字节流可以处理所有类型数据, 字符流只能处理文本数据.
3.
字节流主要是操作 byte类型数据.


字节流如何转为字符流
字节输入流转字符输入流通过InputStreamReader 实现,该类的构造函数可以传入InputStream 对象。 字节输出流转字符输出流通过OutputStreamWriter实现,该类的构造函数可以传入OutputStream对象。

0

评论区