java基础之字符流相关内容

简介: java基础之字符流相关内容

字符流:解决字节流读取中文字符乱码,显示不完整问题

  字符输入流Reader:
复制代码
public static void main(String[] args) throws IOException {
FileReader fir=new FileReader("E:\JavaBase\FirstPro\src\a.txt");
int len=0;
// //一次读取一个字符
// while((len=fir.read())!=-1){
// System.out.print(len);
// }
//一次读取多个字符,使用char[]数组
char[] chars=new char[1024];
while ((len=fir.read(chars))!=-1){
/*

//代码效果参考:http://www.zidongmutanji.com/zsjx/122445.html
String类的构造方法
String (char[] value) 将字符数组转换为字符串
String(char[] ,int offset,int count) 将数组的一部分转换为字符串(有效数组的转化)
*/
System.out.println(new String(chars,0,len));
}
fir.close();
}
//代码效果参考:http://www.zidongmutanji.com/bxxx/204686.html
  
  字符输出流Writer:
package com.zhs.io;
import java.io.FileWriter;
import java.io.IOException;
public class DemoWriter1 {
public static void main(String[] args) throws IOException {
FileWriter fw=new FileWriter("E:\JavaBase\FirstPro\src\a.txt");
fw.write("L");//写入到缓存区中,并将字符变为字节的过程
fw.flush();//使用frush()方法,将缓存的数据刷新到文件中
fw.close();//关闭资源,
}
FileWriter中的frush()方法和close()都可以将缓存的数据刷新到文件中,有何区别?
-frush(): 刷新缓存区,流对象可以继续使用,写入字符数据
-close(): 先刷新缓存区,然后通知系统释放资源,流对象不能继续使用了。

写入的方法
//写入字符数组
char[] chars={'a','b','c','d'};
fw.write(chars);//写入到缓存区中,并将字符变为字节的过程
//字符数组的一部分
fw.write(chars,1,3);
//写入字符串的一部分
fw.write("今天天气很好!",1,4);//天天气很

相关文章
|
1月前
|
存储 Java 数据安全/隐私保护
从零开始学习 Java:简单易懂的入门指南之IO字符流(三十一)
从零开始学习 Java:简单易懂的入门指南之IO字符流(三十一)
|
2天前
|
Java 数据处理 开发者
揭秘Java IO流:字节流与字符流的神秘面纱!
【6月更文挑战第26天】Java IO流涵盖字节流和字符流,字节流处理二进制数据,如图像,由InputStream/OutputStream家族管理;字符流处理文本,基于Reader/Writer,适于文本文件。在文件复制示例中,字节流用FileInputStream/FileOutputStream,字符流用FileReader/FileWriter。选择流类型取决于数据类型和处理需求,文本文件优选字符流,二进制数据则选字节流。
|
1天前
|
存储 编解码 安全
一篇文章讲明白java字符流字节流
一篇文章讲明白java字符流字节流
|
1天前
|
存储 自然语言处理 Java
Java IO流完全手册:字节流和字符流的常见应用场景分析!
【6月更文挑战第26天】Java IO流涵盖字节流和字符流,字节流用于二进制文件读写及网络通信,如图片和音频处理;字符流适用于文本文件操作,支持多语言编码,确保文本正确性。在处理数据时,根据内容类型选择合适的流至关重要。
|
1天前
|
自然语言处理 Java
Java IO流进阶教程:掌握字节流和字符流的高级用法!
【6月更文挑战第26天】Java IO流助你高效交换数据,包括字节流(InputStream/OutputStream)和字符流(Reader/Writer)的高级技巧。缓冲流(Buffered*)提升读写性能,对象流(Object*Stream)支持对象序列化。字符流的BufferedReader/BufferedWriter优化文本处理,注意字符集如UTF-8用于编码转换。掌握这些,优化IO操作,提升代码质量。
|
1天前
|
Java 测试技术
Java IO流深度剖析:字节流和字符流的性能对比!
【6月更文挑战第26天】Java IO流分字节流和字符流,字节流处理所有类型数据(如图片),字符流处理文本(基于Unicode)。字节流直接处理,性能高,适合非文本文件;字符流处理文本时考虑编码,适合文本文件。性能测试显示,字节流在读写非文本文件时更快,而字符流在处理文本时更方便。选择流类型应依据数据类型和需求。
|
1天前
|
自然语言处理 Java 数据处理
Java IO流全解析:字节流和字符流的区别与联系!
【6月更文挑战第26天】Java IO流涵盖字节流与字符流。字节流(InputStream/OutputStream)处理数据单位为字节,适用于二进制和文本,而字符流(Reader/Writer)专注于文本,处理单位为字符,处理编码转换。字符流在字节流基础上添加编码处理,以装饰器模式实现。文件复制示例展示了两者区别:字节流直接复制所有数据,字符流处理字符编码。理解并选择适当流类型对优化程序至关重要。
|
3天前
|
Java
java使用字符流读取文件
java使用字符流读取文件
7 0
|
1月前
|
Java
java一分钟之-字符流与字节流的区别
【5月更文挑战第11天】Java的输入输出通过流操作,分为字符流和字节流。字节流处理二进制数据,如图片、音频,基类是`InputStream`和`OutputStream`;字符流处理文本,基类是`Reader`和`Writer`。字符流涉及编码转换,字节流不涉及。易错点包括乱码(需指定编码)、混用流类型和忘记关闭流。示例展示了字节流和字符流读文件。理解区别并注意编码和资源管理可提高代码质量。
49 3
|
27天前
|
存储 Java 开发者
Java的输入输出流:字节流与字符流的技术性探讨
Java的输入输出流:字节流与字符流的技术性探讨
18 0