java IO操作

1.概览

分类 字节输入流 字节输出流 字符输入流 字符输出流
抽象基类 InputStream OutputStream Reader Writer
访问文件 FileInputStream FileOutputStream FileReader FileWriter
访问数组 ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter
访问管道 PipedInputStream PipedOutputStream PipedReader PipedWriter
缓冲流 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter
转换流 InputStreamReader OutputStreamWriter
对象流 ObjectInputStream ObjectOutputStream
抽象基类 FilterInputStream FilterOutputStream FilterReader FilterWriter
打印流 PrintStream PrintWriter
特殊流 DataInputStream DataOutputStream

2.使用

2.1.概述

IDEA中,在@Test标注的单元测试方法下,File中相对路径的基础路径为模块名,而在main方法中,File中相对路径的基础路径为工程名

2.2.FileReader

        FileReader fileReader = null;
        try {
            fileReader = new FileReader(new File("hello.txt"));
            // 无参的read方法一次只能读一个字符(返回值为int类型,可以强转为char类型)
            char[] arr = new char[10];
            // 传入字符数组,则会将内容读入到字符数组中,能装满就装满,返回值为装入多少个字符
            int count;
            while ((count = fileReader.read(arr)) != -1) {
                // 注意要调用String的此种构造参数,否则如果读不满,会将剩下的脏数据输出(每次填入char数组时不会清空,只会覆盖对应位置的数据)
                System.out.print(new String(arr, 0, count));
            }
            fileReader.read();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fileReader != null) {
                try {
                    fileReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
上一篇:VUE+ElementUI+springboot Base64格式的文件上传


下一篇:【JAVA秒会技术之图片上传】基于Nginx及FastDFS,完成图片的上传及展示