JAVA字节输入流与字节输出流

FileInputStream、FileOutputStream类

package test;

import java.io.FileInputStream;
import java.io.IOException;
//以字符的形式输出E盘中的ad.txt中的内容,以每次读取一个字节的方式
public class test {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		FileInputStream fil=null;
//		FileOutputStream fout=null;
		int read=0;
     try {
    	 fil=new FileInputStream("e:\\ad.txt");
    	 while((read=fil.read())!=-1) {
    		 System.out.print((char)read);
    	 }
//    	 fout=new FileOutputStream("e:\\ad.txt",false);
    	//上面语句中的false意思是直接覆盖
    	 //若是ture,则在原来的基础上续写
         //都不写默认是覆盖
//    	 fout.write('A');
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		try {
			fil.close();
//			fout.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	}

}
package test;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class test {
	//以字符串的形式输出E盘中的ad.txt中的内容,以读取字节数组的方式,相比一个字节一个字节读取提高了速度
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		FileInputStream fil=null;
//		FileOutputStream fout=null;
		int read=0;
		byte[] b=new byte[1024];//要足够大
		//文本文件有时中间有汉字,一个汉字几个字节
		//b数组不够大可能会导致部分汉字只存进去了一部分,会出现乱码
     try {
    	 fil=new FileInputStream("e:\\ad.txt");
    	 while((read=fil.read(b))!=-1) {
    		 System.out.print(new String(b));
    	 }
//    	 fout=new FileOutputStream("e:\\ad.txt");
//    	 fout.write('A');
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		try {
			fil.close();
//			fout.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	}

}

文件复制

package test;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
//将E盘中的cat.jpg复制到D盘,并且将其命名为copy,以每次读取一个字节的方式
public class test2 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	    FileInputStream fis;
	    FileOutputStream fos;
		int read=0;
     try {
    	 fis=new FileInputStream("e:\\cat2.jpg");
    	 fos=new FileOutputStream("d:\\copy.jpg",false);
    	 //上面语句中的false意思D盘中若有同样名字的copy则覆盖(注意这里说的同样名字的是指的同类型文件)
    	 //若是ture,若D盘中有同样名字的copy则不覆盖
    	 while((read=fis.read())!=-1) {
    		fos.write(read);
    	 }
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
//     finally {
//		try {
//     fos.close();
//		} catch (IOException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//	}
}
	}

缓冲流---高效流

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值