章节笔记——IO流

2019-01-31  本文已影响0人  就这样吧嘞

流是连接程序和设备的管道,主要用于数据传输。
四大基本抽象流:

对象.read()返回值为int型
//ASCII从0开始的数字,只有为什么都没有才返回-1

对象.flush();//将缓存输出 写在文件关闭之前

文件关闭
对象.close();

文件流:

字符 :FileReader输入FileWriter输出(写到硬盘)
字节 :FileInputStream输入FileoutputStream输出
文本文件用字符流 其他文件用字节流
1字符=2字节
原因:字母和数字一个字节 一个汉字两个字节
字符流:文本文件
字节流:音频 视频 图片

缓冲流

输入:
BuffereInputStream hcfz= new BuffereInputStream( new FileInputStream("地址"));

byte [] hc =new byte[2048]; //缓冲区大小
int ff;
ff = hcfz.write(hc);
while(hc!=(-1)){
hczt.write(hc,0,ff);//为了防止最后一次书库长度与缓冲区不同
ff = hcfz.read(hc);
}

转换流

键盘键入是字节流System.in 转换成字符流输出
new InputsTReader(System.in)

数据流

DataOutputStream 数据字节输出流
writeXXX(data)方法的结果是计算机识别的二进制形式

Print流

PrintStream 打印输出流
printStream中的println(data)方法结果是是字符串形式
将字符写进文件

import java.io.*;


public class Main {

    public static void main(String[] args) throws Exception {
        PrintStream shuchu = new PrintStream("D:/缓存/myjava/shucu.txt");
        System.setOut(shuchu); //(输出对象)可以是打印机等等//输出到什么位置
        System.out.println("文件里的内容");
    }
}

System.set.Err(对象);//专门输出错误

Object流

将数据存入到文件中 文件是乱码 但是不是加密
readObjec()方法是用于读取数据,并且进行类型转换
transient 的作用是忽略 外界传不进来值

finally 的作用是善后 要起到退出作用

如果写finally 则前面不要写退出代码
finally {
try{
对象.close();
System.exit(-1);

catch(Exception e){
System.exit(-1);

空接口Serializable

Serializable接口,它只是一个标志,没有任何方法,只有实现这个接口才具有序列化功能。

文件的属性读取

上一篇 下一篇

猜你喜欢

热点阅读