java I/O流 例子:把一文件读到byte数组中,然后再输出到另一个文件中;


From:http://blog.csdn.net/henryzhang2009/article/details/5790845

//把F:/test/distribute.sql这个文件读入到byte数组中,返回这个数组

package com.cus.systemFunction.disCom;

import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import org.apache.log4j.Logger;

/**
 * 说明:把文件读到byte数组
 * @author  xxx

 * 创建时间:2010-8-5  下午01:21:33
 */

public class FileToByteArray {
 static Logger logger = Logger.getLogger(FileToByteArray.class.getName());
 String outDir = "";

//getByteArray() 方法返回一个byte数组
 public  byte[] getByteArray() throws Exception { 

 

//  String path= getClass().getResource("/").getPath();
//  outDir = path.trim().substring(1,path.length()-5)+"outputDir/generator/sqlScript/";
//BufferedInputStream in = new BufferedInputStream(new FileInputStream(outDir+"distribute.sql"));


  BufferedInputStream in = new BufferedInputStream(new FileInputStream("F://test//distribute.sql"));
        ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
        
        System.out.println("Available bytes:" + in.available());         
        
        byte[] temp = new byte[1024];         
        int size = 0;         
        while ((size = in.read(temp)) != -1) {         
            out.write(temp, 0, size);         
        }         
        in.close();         
        
        byte[] content = out.toByteArray();         
        System.out.println("Readed bytes count:" + content.length);         
        return content;
 }
 
}

 


 

//把上面返回的这个byte数组的内容,读入到C盘目录下的distributeCopy.sql文件中

package com.cus.systemFunction.disCom;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;

public class TestMain { 
 public static void main(String args[]) throws Exception{


 FileToByteArray fileToByteArray = new FileToByteArray();
  byte[] buffer = fileToByteArray.getByteArray();
 
   FileOutputStream outf=new FileOutputStream("C://distributeCopy.sql");
   BufferedOutputStream bufferout= new BufferedOutputStream(outf);
   bufferout.write(buffer);
   bufferout.flush();
   bufferout.close();
   
 }
}

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值