java blob转byte_Clob,Blob,InputStream,byte 互转
时间: 2023-07-07 20:19:06 浏览: 86
Java,Blob和Clob都是用来存储大型二进制数据和字符数据的对象,而InputStream和byte[]则是用来读取和存储二进制数据的对象。下面是它们之间的相互转换方法:
1. Blob转byte[]:
```java
Blob blob = ...;
byte[] bytes = blob.getBytes(1, (int) blob.length());
```
2. byte[]转Blob:
```java
byte[] bytes = ...;
Blob blob = new SerialBlob(bytes);
```
3. Clob转String:
```java
Clob clob = ...;
String str = clob.getSubString(1, (int) clob.length());
```
4. String转Clob:
```java
String str = ...;
Clob clob = new SerialClob(str.toCharArray());
```
5. InputStream转byte[]:
```java
InputStream inputStream = ...;
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int n = 0;
while (-1 != (n = inputStream.read(buffer))) {
output.write(buffer, 0, n);
}
byte[] bytes = output.toByteArray();
```
6. byte[]转InputStream:
```java
byte[] bytes = ...;
InputStream inputStream = new ByteArrayInputStream(bytes);
```
希望这些方法能够帮到您!