java 文件流操作_玩转JAVA之文件流操作

基本IO操作:流是单向的,不局限于文件。流根据方向不同分为输入流与输出流,参照点为当前程序。输入流用来读取数据,输出流用来写出数据。InputStream,抽象类,定义了输入流的读取字节方法,所有的输入流都继承自它,outputStream则为输出流的父类。

流分为:节点流和处理流。节点流也叫低级流,是负责读写数据的流,在读写操作中必须要有低级流,数据源明确。处理流:也叫高级流,高级流是不能独立存在的,必须用于处理其他流,处理其他流的目的是为了简化读写数据中的操作。

FileOutputStream,文件输出流,是一个低级流,作用是向文件中写出字节。

FileOutputStream fos = new FileOutputStream(file); //传文件

String str =”问问”;

//byte str.getBytes();//将当前字符串按系统默认转换为一组字节

//byte str.getBytes(String csn);//将字符串转换为给定的字符集

byte[] data = str.getBytes(“UTF-8”);

fos.write(data);

fos.close(); //注意:默认创建的FOS是覆盖写操作,FOS会将文件数据 (若有数据)全部覆盖,然后开始写入。

文件输出流追加写操作:在创建FOS时,若指定第二个参数,并且该值为true时,则是追加写操作,那么本次通过FOS写出的内容就会被追加到文件末尾。

FileOutputStream fos = new FileOutputStream(file,true);//追加写

fos.write(“你好”,”UTF-8”);

fos.close();

FileInputStream,文件输入流,是一个低级流,用于从文件中读取字节。

FileInputStream fis = new FileInputStream(file);//读文件

byte[] data =new byte[100];

int len =fis.read(data);///返回实际读取的字节数

String str =new String(data,0,len,”UTF-8”);//将实际读取的字节数转换为字符串

System.out.print(str);

fis.close();

使用文件流复制文件:

FileInputStream fis = new FileInputStream(file);//

FileOutputStream fos = new FileOutputStream(files,true);//写入

int len =-1; byte[] buf =new byte[1024*10];

while((len=fis.read(buf))!-1){

fos.write(buf,0,len);

}

fos.close();fis.close();

4783a8c6ed09f6a0a58c3ab01c41c532.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值