【转载】java输入流转为文件 InputStreamToFile 以及 byte[]和InputStream的相互转换

来源:互联网 发布:纯阳脸型数据正太 编辑:程序博客网 时间:2024/05/30 12:29
【转载】java输入流转为文件 InputStreamToFile 以及 byte[]和InputStream的相互转换
2011-04-07 10:42

import java.io.*;
public class InputStreamToFile
  {
  public static void main(String args[])
    {
    try
    {
    File f=new File("outFile.java");
    InputStream inputStream= new FileInputStream
("InputStreamToFile.java");
    OutputStream out=new FileOutputStream(f);
    byte buf[]=new byte[1024];
    int len;
    while((len=inputStream.read(buf))>0)
    out.write(buf,0,len);
    out.close();
    inputStream.close();
    System.out.println("\nFile is created........
...........................");
    }
    catch (IOException e){}
    }
  }

 

 

byte[]和InputStream的相互转换如下:

1:byte[]转换为InputStream流

InputStream sbs = new ByteArrayInputStream(byte[] buf);

 

2:InputStream转换为byte[]数组

ByteArrayOutputStream swapStream = new ByteArrayOutputStream();

byte[] buff = new byte[100]; //buff用于存放循环读取的临时数据

int rc = 0;

while ((rc = inStream.read(buff, 0, 100)) > 0) {

swapStream.write(buff, 0, rc);

}

byte[] in_b = swapStream.toByteArray(); //in_b为转换之后的结果 
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class ByteToInputStream {
public static final InputStream byte2Input(byte[] buf) {
return new ByteArrayInputStream(buf);
}
public static final byte[] input2byte(InputStream inStream)
throws IOException {
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100];
int rc = 0;
while ((rc = inStream.read(buff, 0, 100)) > 0) {
swapStream.write(buff, 0, rc);
}
byte[] in2b = swapStream.toByteArray();
return in2b;
}
}