Java 流 文件 IO流 InputStream OutputStream FileInputStream FileOutputStream FileReader FileWriter Proper

在这里插入图片描述
在这里插入图片描述

1、文件

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、IO流

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

InputStream,OutputStream,Reader,Writer都是抽象类

在这里插入图片描述

3、FileInputStream BufferedInputStream ObjectInputStream

在这里插入图片描述
在这里插入图片描述
(1) FileInputStream 字节输入流

package test9;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Field;

public class test {
    public static void main(String[] args) throws IOException {
    	//如果文本文件中:含有文字 用字节流可能会乱码
        String filePath="D:\\hello.txt";
        //字节数组
        byte[] buf = new byte[1024];
        int readLen = 0;
        FileInputStream fileInputStream = null;
        try {
            fileInputStream=new FileInputStream(filePath);
            //如果返回-1,表示读取完毕
            //如果读取正常,返回实际读取的字节数
            while ((readLen = fileInputStream.read(buf)) != -1) {
                System.out.print(new String(buf, 0, readLen));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //关闭文件流,释放资源。
            try {
                fileInputStream.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }

    }
}

文本文件用字符流

(2)字节流FileOutputStream 字节输出流

@Test
    public void writeFile(){
        //创建 FileOutputStream对象
        String filePath="d:\\a.txt";
        FileOutputStream fileOutputStream = null;
        try {
            fileOutputStream = new FileOutputStream(filePath);
            //写入字符串
            String str = "hello,world! 张吉林";
            fileOutputStream.write(str.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //关闭文件流,释放资源。
            try {
                fileOutputStream.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }

    }

在这里插入图片描述
(3) 字符流 FileReader FileWriter在这里插入图片描述

FileReader

在这里插入图片描述

在这里插入图片描述
(4)节点流和处理流
在这里插入图片描述
在这里插入图片描述
节点流:效率较低
在这里插入图片描述
处理流:效率更高11

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述(5) BufferedWriter BufferedReader 专门处理字符

在这里插入图片描述

package test9;

import org.junit.Test;

import java.io.*;
import java.nio.Buffer;
import java.nio.charset.StandardCharsets;

public class test1 {
    public static void main(String[] args) {
        // 说明
        // 1、BufferedReader 和 BufferedWriter 是按照字符操作
        // 2、不要去操作二进制文件,可能造成文件损坏
        String srcFilePath = "d:\\a.java";
        String destFilePath = "d:\\a2.java";
        BufferedReader br = null;
        BufferedWriter bw = null;
        String line;
        try {
            br = new BufferedReader(new FileReader(srcFilePath));
            bw = new BufferedWriter(new FileWriter(destFilePath));
            //说明:readLine 读取一行内容,但是没有换行
            while ((line = br.readLine()) != null) {
                //每读取一行,就写入
                bw.write(line);
                //插入一个换行
                bw.newLine();
            }
            System.out.println("文件拷贝成功");

        }catch (IOException e){
            e.printStackTrace();
        }finally {
            //关闭流
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (bw != null) {
                try {
                    bw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }


}

(5) ObjectInputStream ObjectOutputStream 处理流 专门处理对象
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
dog对象需要实现序列化接口:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(6) InputStreamReader OutputStreamWriter 转换流
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
1
在这里插入图片描述
(7) Properties 配置文件读取和写入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3、反射

4、线程的声明周期

5、session cookie

6、JDBC流程

7、存储过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值