字符串存储二进制,然后进行流处理

public class TestByte {
	public static void main(String[] args) throws IOException, InterruptedException {		
		File f = new File("C:\\Users\\Administrator\\Pictures\\测试1.jpg");
		FileInputStream is = new FileInputStream(f);
		FileOutputStream out = new FileOutputStream(new File("C:\\Users\\Administrator\\Pictures\\测试8.jpg"));
		int len = 0; 
		String sj = "";
		//读取
		while((len=is.read())!=-1){  
			sj+=Integer.toBinaryString(len)+" ";
		}
		System.out.println(sj);
		//写入
		String[] arr = sj.split(" ");
		int m;
		for(String a:arr){
			m=Integer.parseInt(a,2);//竟然有这个方法??????我吐了。
			out.write(m);
			//所谓的输出流 就是write 一个  十进制的值  它所代表的就是 八位二进制 进而就是文件的一部分
		}
		}
	private static String[] binaryArray =   
	    {"0000","0001","0010","0011",  
	    "0100","0101","0110","0111",  
	    "1000","1001","1010","1011",  
	    "1100","1101","1110","1111"}; 
	public static String bytes2BinaryStr(byte b){  
	    String outStr = "";  
	    int pos = 0;  
        //高四位  
        pos = (b&0xF0)>>4;  
        outStr+=binaryArray[pos];  
        //低四位  
        pos=b&0x0F;  
        outStr+=binaryArray[pos];  
	    return outStr;  
	}  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值