11IO

IO
流的概念
数据从一个目的地到另一个目的地
程序与文件|数组|网络连接|数据库,以程序为中心。
流的分类
流向:输入流与输出流
数据:字节流(二进制,可以处理一切文件 包括 纯文本 doc 音频 视频等)
字符流(文本文件,只能处理纯文本-全部为可见字符 .txt .html)
功能:节点流(包裹源头)
处理流(增强功能,提高性能)
字符流与字节流 与 文件
1、字节流
输入流:InputStream read(byte[] b) read(byte[] b, int off, int len) close()
FileInputStream()
输出流:OutputStream write(byte[] b) write(byte[] b, int off, int len) flush() close()
FileOutputStream
2、字符流
输入流:Reader read(char[] cbuf) read(char[] cbuf, int off, int len) close()
FileReader()
输出流:Writer write(char[] cbuf) write(char[] cbuf, int off, int len) flush() close()
FileWriter()

操作步骤
建立与文件联系
选择对应流
操作 读取|写出
数组大小
读取、写出
释放资源
读取文件
建立联系、File对象 源头
选择流 文件输入流 InputStream FileInputStream
操作 byte[] input = new byte[1024]; 读取文件的大小 输出
释放资源:关闭
// 建立联系
File file = new File(“D:/fileTest/DateUtil.java”);
// 选择流 文件输入流 InputStream FileInputStream
InputStream inputStream = null;

    inputStream = new FileInputStream(file);
    // 操作 byte[] input = new byte[1024];  读取文件的大小 输出
    
    // 创建临时变量len 保存每次读取的长度
    int len = 0;
    // 循环的读取文件中的内容
    while ((len = inputStream.read(buff)) != -1) {
        // 将字节数组变成字符串 输出到控制台上
            String str = new String(buff, 0, len);
            System.out.println(str);
        }

写出文件
建立联系、File对象 目的地
选择流 文件输出流 OutputStream FileOutputStream
操作 write() + flush()
释放资源:关闭
文件拷贝
建立联系 File对象 源头 目的地
选择流
文件输入流 InputStream FileInputStream
文件输出流 OutputStream FileOutputStream
操作:拷贝
byte[] input = new byte[1024]; 读取文件的大小 输出
int len = 0;
while(-1 != (len = 输入流.read)) {
输出流.write()
}
输出流.flush()
释放资源:关闭 两个流
文件夹拷贝
递归查找子孙级文件|文件夹
文件 复制(IO流复制)
文件夹 创建
字符流
纯文本的读取
建立联系
选择流 Reader FileReader
读取 char[] buff = new char[1024];
关闭流
纯文本的写出
建立联系
选择流 Writer FileWriter
写入 write(字符数组,0,长度) flush()
关闭流

作业:写一个复制文件夹的工具类,需要完成功能:
复制指定文件夹下面的所有的子文件及文件夹
处理流
增强功能,提高性能,在节点流之上
https://blog.youkuaiyun.com/reliveit/article/details/45819529
缓冲流
字节缓冲流
BufferedInputStream
BufferedOutputStream
字符缓冲流
BufferedReader readLine()
BufferedWriter newLine()
转换流
字节流转为字符流 处理乱码(编码集、解码集)
1、编码和解码概念
解码:二进制 --解码字符集–> 字符
编码:字符 --解码字符集–> 二进制
2、造成乱码的问题:
1)编码与解码的字符集不统一
2)字节数长度不够
其它流
引用类型(对象)保留数据+类型
序列化 输入流:ObjectInputStream readObject()
反序列化 输出流:ObjectOutputStream writeObject()
注意:先序列化后反序列化;反序列化顺序必须与序列化一致。
不是所有的对象都可以序列化。java.io.Serializable
不是所有的属性都需要序列化。transient

RK3568是RK公司于2021年推出的一款高性能64位ARM处理器,运行Android 11操作系统。IO调试是指对设备的输入输出接口进行调试和优化,以提高设备的性能和稳定性。 在Android 11上进行IO调试,首先需要确保设备的硬件接口正常工作,包括USB接口、HDMI接口、以太网口等。可以通过使用不同的外部设备(如键盘、鼠标、显示器)进行测试,检查设备的IO接口是否正常工作。 其次,可以使用Android Studio等开发工具进行IO调试。通过连接设备到计算机,可以使用ADB命令行工具或者开发工具自带的调试工具对设备进行IO调试。通过ADB命令行工具,可以查看设备的文件系统、文件传输速度等信息,并对文件进行复制、移动、删除等操作。通过开发工具的调试工具,可以对设备的IO接口进行模拟和测试,以验证其稳定性和兼容性。 同时,对于Android 11系统,还可以使用一些专门的IO调试工具进行调试和优化。这些工具可以监控设备的IO操作,包括读写速度、延迟等指标,并提供分析报告和优化建议。可以根据报告和建议进行相应的调整和优化,以提高设备的IO性能和稳定性。 总结来说,RK3568 Android 11 IO调试主要是通过测试设备的硬件接口、使用ADB命令行工具和开发工具的调试工具对设备进行调试,以及使用专门的IO调试工具进行性能分析和优化。通过这些方法,可以提高设备的IO性能和稳定性,提升用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值