comons - io. jar 에 있 는 IOUtils. toByteArray 보기
String path ="C:\\Users\\Administrator\\Pictures\\Camera Roll\\Think_Black.jpg";
FileInputStream fileInputStream = new FileInputStream(path);
byte[] bytes =IOUtils.toByteArray(fileInputStream);
다음은 보 이 는 소스 코드 입 니 다.
public static byte[] toByteArray(InputStream input) throws IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
Throwable var2 = null;
byte[] var3;
try {
copy((InputStream)input, (OutputStream)output);
var3 = output.toByteArray();
} catch (Throwable var12) {
var2 = var12;
throw var12;
} finally {
if (output != null) {
if (var2 != null) {
try {
output.close();
} catch (Throwable var11) {
var2.addSuppressed(var11);
}
} else {
output.close();
}
}
}
return var3;
}
/**
*Integer.MAX_VALUE :A constant holding the maximum value an int can have, 2^31-1.
*
*/
public static int copy(InputStream input, OutputStream output) throws IOException {
long count = copyLarge(input, output);
return count > 2147483647L ? -1 : (int)count;
}
/**
*(2147483647L+1)/4096=2 19 , 4096 ?
*1 byte = 8 bit ,bit 0 1 , byte 256,
* byte[4096] 4096, ?
*/
public static long copyLarge(InputStream input, OutputStream output) throws IOException {
return copy(input, output, 4096);
}
public static long copy(InputStream input, OutputStream output, int bufferSize) throws IOException {
return copyLarge(input, output, new byte[bufferSize]);
}
public static long copyLarge(InputStream input, OutputStream output, byte[] buffer) throws IOException {
long count;
int n;
//input -1
for(count = 0L; -1 != (n = input.read(buffer)); count += (long)n) {
output.write(buffer, 0, n);
}
return count;
}
/**
*JDK inputStream
*Reads some number of bytes from the input stream and stores them into the buffer array b.
*/
public int read(byte[] b)
throws IOException
/**
*JDK outputStream
*Writes b.length bytes from the specified byte array to this output stream.
*The general contract for write(b) is that it should have exactly the same effect as the call write(b, 0, b.length).
*/
public void write(byte[] b)
throws IOException
/**
*JDK ByteArrayOutputStream
*Creates a newly allocated byte array.
*Its size is the current size of this output stream and the valid contents of the buffer have been copied into it.
*/
public byte[] toByteArray()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.