2014-03-01 3 views
0

Stripes의 FileBean에 포함 된 File 객체에 액세스하는 가장 좋은 방법은 무엇입니까? 아마존의 S3에 파일을 저장하려고하는데 바이트 배열이 필요합니다. File 객체에 접근 할 수 있다면 충분히 단순 해 보입니다.Stripes 프레임 워크, Filebean 및 File 객체

답변

1

FileBean에는 FileBean의 모든 바이트를 읽을 수있는 getInputStream() 메서드가 있습니다. 모든 것을 바이트 배열로 메모리에 저장하고 싶다면 (특히 파일 크기가 클 경우), 스트림에서 evrything을 읽고 ByteArrayOutputStream에 다음과 같이 쓰십시오.

byte[] buffer = new byte[1024]; 
InputStream in = fileBean.getInputStream(); 
ByteArrayOutputStream out = new ByteArrayOutputStream(); 
int read; 
while ((read = in.read(buffer)) >= 0) { 
    out.write(buffer, 0, read); 
} 
byte[] contentAsByteArray = out.toByteArray();