Java中的I/O流

什么是IO流

        流是一种对正在传输中的数据的一种抽象表现。在流中,文件是一组有序的数据序列。这样我们就可以直接使用流来进行文件在各个内存节点中的相互传输而不是考虑如何通过处理数据来进行文件的互传。

 

 

 流的分类

按照流的方向进行分类:
以内存作为参照物,
往内存中去,叫做输入。或者叫做读(Read)。
从内存中出来,叫做输出。或者叫做写(Write)。

按照数据在流中的读取方式:

字节流:一次只读一个字节,也就是一个ASC码的大小。

字符流:一次读取两个字节,用来传输一个中文字符。

3.IO流都在java.io.*包下
java中的IO流都已经写好了,我们程序员不需要关心,我们最主要还是掌握,在java中已经提供了哪些流,每个流的特点是什么,每个流对象上的常用方法有哪些?
java中所有的流都是在: java.io.*下。

java中主要还是研究:
怎么new流对象。
调用流对象的哪个方法是读,哪个方法是写。

4.java IO流有四个家族
java.io.InputStream 字节输入流
java.io.OutputStream 字节输出流

java.io.Reader 字符输入流
java.io.Writer 字符输出流

注意: 在java中只要"类名"以Stream结尾的都是字节流。以"Reader/Writer"结尾的都是字符流。

5.java.io包下需要掌握的流有16个
文件:
java.io.FileInputStream
java.io.FileOutputStream
java.io.FileReader
java.io.FileWriter

转换流:(将字节流转换成字符流)
java.io.InputStreamReader
java.io.OutputStreamWriter

缓冲流(将文件进行打包后传输):
java.io.BufferedReader
java.io.BufferedWriter
java.io.BufferedInputStream
java.io.BufferedOutputStream

数据流:
java.io.DateInputStream
java.io.DateOutputStream

标准输出流:
java.io.printWriter
java.io.printStream

对象流:
java.io.ObjectInputStream
java.io.ObjectOutputStream
 

流的创建与传输

输入流

 FileInputStream is=new FileInputStream("C:/Users/Jm/Desktop/Java/doSome.txt");
    byte[] b = new byte[1024];
     int hasReader = 0;
     while((hasReader = fileInputStream.read(b))>0){
             System.out.println(new String(b,0,hasReader));

 输出流

FileInputStream fis = new FileInputStream("src/main/resources/data/1.txt");
 FileOutputStream fos = new FileOutputStream("src/main/resources/data/2.txt");
            byte[] b = new byte[1024];
            int hasByte = 0;
            while((hasByte = fis.read(b)) > 0){
                fos.write(b,0,hasByte);
            }

缓冲流

bis = new BufferedInputStream(fis);
bos = new BufferedOutputStream(fos);

在完成传输后应当尽快关闭流并释放资源

is.close();
os.close();
bis.close()
bos.close();

在html中接收IO流(axios)

import axios from "axios"
 
 
axios.get("/data.json").then(res=>{
    console.log(res)
}).catch(err=>{
    console.log(err)
})

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值