java中基本字节输出流类是_Java基础IO类之字节输入输出流

一、IO流概述

1、IO流:输入输出流(Input/Output)

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象,即数据在设备间的传输流,

流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作

大概来说:

输入流:把数据从文件读到(输入)程序中

输出流:从程序当中把一个数据(输出)写入文件中

2、流的分类

根据处理数据类型的不同分为:字符流和字节流

根据数据流向不同分为:输入流和输出流

(1)字节流

a.字节输出流

OutputStream类的定义:

public abstract class OutputStream extends Object implements Closeable,Flushable

此抽象类是表示输出字节流的所有类的超类,输出流接受输出字节并将这些字节发动到inputStream类的某个接受器

b.字节输入流

InputStream类的定义:

public abstract class InputStream implements Closeable

这个抽象类是所有基于字节的输入流的超类,抽象了Java的字节输入模型。在这个类中定义了一些基本的方法。

FileinputStream 是它的子类 从文件系统中的某个文件中获得输入字节

举例:

packageIODemo;import java.io.*;/*** 字节输出输入流

* 输出流:超类OutputStream,对文件输出流的操作的子类是FileOutputStream

* 输入流:超类InputStream,对文件输入流的操作子类是FileInputStream*/

public classByteStreaDemo {private static voidin(){//1、确定目标文件

File file = new File("D:\\test\\test.txt");try{//2、构建一个输入流对象

InputStream in = newFileInputStream(file);//读取的数据是一个字节一个字节的,所以要用一个字节数组来收//相当于一个容器来装文件里面的东西 1024大小表示容器能装1024个字节 1024字节=1kb

byte[] bytes = new byte[1024];int len = -1; //表示已经读取了多少个字节,如果是 -1,表示已经读取到文件的末尾//字符串拼接

StringBuilder buf = newStringBuilder();//把数据读入到数组中,并且返回读取的字节数,当不等于-1时表示已经读取到了数据,等于-1时表示已经读完

while ((len = in.read(bytes)) !=-1){

buf.append(new String(bytes)); //根据读取到的字节数组,转换为字符串内容,并且进行拼接,添加到StringBuilder中

}

System.out.println(buf);

}catch(FileNotFoundException e) {

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}

}private static voidout(){//1、确定目标文件

File file = new File("D:\\test\\test.txt");try{//2、构建一个文件输出流的对象

OutputStream out = new FileOutputStream(file,true); //如果加上true的话表示的是在原文件内容上追加内容,如果不加ture默认是重写//3、内容

String info = "大家好,我是落魄书生!\r\n"; //window 下 \r\n 表示换行//4、out对象写入文件中 要字节类型 字符串转字节类型

out.write(info.getBytes());

System.out.println("写入成功!");

}catch(FileNotFoundException e) {

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}

}public static voidmain(String[] args) {

out();

in();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值