字节流

IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。

主要内容:FileInputStreamBufferedInputStream、FileOutputStream、BufferedOutputStream

BufferedInputStream与BufferedOutputStream为字节缓冲流,比起FileInputStream与FileOutputStream来说,它提高了读写速度。

///input.txt
1234adsad786778SAD
12这是ui第1条information

FileInputStream

package 字节流;

import java.lang.String;
import java.io.*;

//字节流-文件字节读入  FileInputStream
//该方式读取文件流时,是以ASCII码读取的,因此输出的是数字,方法2对其进行了char转换,方法3对其进行了string类型转换
public class fileInputStream {
    //1,读取文件,不对其进行任何操作,直接输出
    public void fileinputstream1(File file)throws Exception{
        FileInputStream fileInputStream = new FileInputStream(file);
        int i = 0;
        //读取文件
        while((i = fileInputStream.read())!=-1){
            System.out.print(i + " ");
        }
        System.out.println();
        fileInputStream.close();
    }
    //2.读取文件,将其转换为char类型输出
    public void fileinputstream2(File file)throws Exception{
        FileInputStream fileInputStream = new FileInputStream(file);
        int i = 0;
        //读取文件
        while((i = fileInputStream.read())!=-1){
            System.out.print((char)i + " ");
        }
        System.out.println();
        fileInputStream.close();
    }
    //将其转换为string类型输出
    public void fileinputstream3(File file)throws Exception{
        FileInputStream fileInputStream  = new FileInputStream(file);
        int i = 0;
        byte[] bis = new byte[1000];
        //读取文件,字节
        while((i = fileInputStream.read(bis))!=-1){
            System.out.print(new String(bis,0,i)+" ");
        }
        System.out.println();
        fileInputStream.close();
    }
}

BufferedInputStream

package 字节流;

import java.lang.String;

import java.io.*;

//字节缓冲输入流BufferedInputStream
public class bufferedInputStream {
    //字节流.bufferedInputStream 比 FileInputStream 读取效率更高
    public void bufferedinputstream(File file) throws IOException {
        InputStream inputStream = new FileInputStream(file);
        BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
        byte[]bis = new byte[1000];
        int i = 0;
        while((i = bufferedInputStream.read(bis))!=-1) {
            System.out.print(new String(bis,0,i)+" ");
        }
        System.out.println();
        bufferedInputStream.close();
    }

}

FileOutputStream

package 字节流;

import java.io.File;
import java.io.FileOutputStream;

public class fileOutputStream {
    public void fileoutputstream(File file)throws Exception{
        FileOutputStream fileOutputStream = new FileOutputStream(file,true);
        int i = 0;
        fileOutputStream.write("这是1条~来自fileOutputStream的输出8888语句。\t\n".getBytes());
        System.out.println("fileOutputStream写入成功");
        fileOutputStream.close();
    }
}

BufferedOutputStream

package 字节流;

import java.io.*;

public class bufferedOutputStream{
    public void bufferedoutstream(File file)throws IOException {
        OutputStream outputStream = new FileOutputStream(file,true);
        BufferedOutputStream bw = new BufferedOutputStream(outputStream);
        bw.write("这是来自bufferedOutputStream的1条消息\t\n".getBytes());
        System.out.println("bufferedInputStream写入成功");
        bw.close();
    }
}

Main

import 字节流.bufferedInputStream;
import 字节流.bufferedOutputStream;
import 字节流.fileInputStream;
import 字节流.fileOutputStream;

import java.io.File;

public class main {
    public static void main(String[] args) throws Exception{
        //读文件
        File file = new File("input.txt");
        //字节输入流
        System.out.println("-------InputStream---------");
        fileInputStream in = new fileInputStream();
        in.fileinputstream1(file);
        in.fileinputstream2(file);
        in.fileinputstream3(file);
        System.out.println("-----BufferedInputStream---------");
        //字节输入缓存流
        bufferedInputStream bm = new bufferedInputStream();
        bm.bufferedinputstream(file);
        //字节输出流
        System.out.println("------OutputStream------------");
        File file1 = new File("out.txt");
        fileOutputStream fout = new fileOutputStream();
        fout.fileoutputstream(file1);
        //字节输出缓存流
        System.out.println("------BufferedOutputStream----------");
        bufferedOutputStream bufferedOutputStream = new bufferedOutputStream();
        bufferedOutputStream.bufferedoutstream(file1);
    }
}

结果

out.txt文件内容

这是1条~来自fileOutputStream的输出8888语句。	
这是来自bufferedOutputStream的1条消息	

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值