Java基础进阶IO流-FileReader,FileWriter字符流

简介: Java基础进阶IO流-FileReader,FileWriter字符流

FileReader(字符输入流):

文件字符输入流,只能读取普通文本。

读取文本内容时,比较方便,快捷。


示例代码01:


public class FileReaderTest {
    public static void main(String[] args) {
        FileReader reader = null;
        try {
            reader = new FileReader("IO/src/com/newstudy/javase/io/temp4.txt");
            //准备一个char数组
            char[] chars = new char[4];
            // 往char数组中读,一次只能读取四个字节
            reader.read(chars); // 按照字符的方式读取:第一次e,第二次f,第三次 风....
            for(char c : chars) {
                System.out.print(c);//别把c错写成chars了
            }
            //按照字符流的方式读,每次读四个字符
            /*char[] chars = new char[4];
            int readerCount = 0;
            while((readerCount = reader.read(chars)) != -1){
                System.out.print(new String(chars,0,readerCount));
            }*/
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(reader != null){
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}


0a2653c851af460fa595bd959398a8f1.png


运行结果:


2d65d23f6d4748949b924e4057485923.png


FileWriter(字符输出流):


示例代码02:


public class FileWriterTest {
    public static void main(String[] args) {
        FileWriter out = null;
        try {
            out = new FileWriter("file",true);
            //用字符串方式写入
            char[] chars = {'我','是','中','国','人'};//API方法
            out.write(chars);
            out.write(chars,2,3);
            //用字符串写入
            out.write("我是一名java软件工程师!");
            out.write("\n");
            out.write("HelloWorld!");
            //刷新
            out.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(out != null){
                try {
                    out.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}


运行结果:


6de278e6d6694ce5bb08e7e842b7e74b.png

相关文章
|
3月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
107 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
4月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
|
3月前
|
Java 数据处理 开发者
揭秘Java IO流:字节流与字符流的神秘面纱!
揭秘Java IO流:字节流与字符流的神秘面纱!
54 1
|
3月前
|
自然语言处理 Java 数据处理
Java IO流全解析:字节流和字符流的区别与联系!
Java IO流全解析:字节流和字符流的区别与联系!
129 1
|
5月前
|
存储 缓存 Java
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
61 3
|
6月前
|
存储 缓存 Java
JavaSE—IO流之字符流与字节流
JavaSE—IO流之字符流与字节流
|
7月前
|
存储 编解码 安全
一篇文章讲明白java字符流字节流
一篇文章讲明白java字符流字节流
30 0
|
7月前
|
存储 自然语言处理 Java
Java IO流完全手册:字节流和字符流的常见应用场景分析!
【6月更文挑战第26天】Java IO流涵盖字节流和字符流,字节流用于二进制文件读写及网络通信,如图片和音频处理;字符流适用于文本文件操作,支持多语言编码,确保文本正确性。在处理数据时,根据内容类型选择合适的流至关重要。
105 0
|
5月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
6月前
|
Java 大数据
解析Java中的NIO与传统IO的区别与应用
解析Java中的NIO与传统IO的区别与应用