java inputstream读取byte
时间: 2023-10-17 15:24:41 浏览: 90
可以使用InputStream的read方法来读取byte。具体实现可以参考以下代码:
```java
InputStream inputStream = new FileInputStream("file_path");
int byteRead;
while ((byteRead = inputStream.read()) != -1) {
// 处理读取到的byte
}
inputStream.close();
```
在上面的代码中,我们首先创建一个InputStream对象并打开一个文件,然后通过循环读取文件中的每一个byte,直到读取到文件末尾(read方法返回-1)。最后,我们关闭InputStream对象以释放资源。
相关问题
Java InputStream流读取byte[]
可以使用 InputStream 的 read(byte[] b) 方法来读取字节流到一个 byte 数组中。该方法的语法如下:
```
public int read(byte[] b) throws IOException
```
其中,参数 b 是用来存储读取数据的字节数组,返回值是读取的字节数。该方法会尽可能多地读取字节流到数组中,但不保证一定读满整个数组。
以下是一个示例代码,演示了如何使用 InputStream 读取字节流到 byte 数组中:
```java
InputStream inputStream = new FileInputStream("file.txt");
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = inputStream.read(buffer)) != -1) {
// 处理读取到的字节数据
System.out.println("Read " + bytesRead + " bytes.");
}
inputStream.close();
```
在上述代码中,我们创建了一个 FileInputStream 对象 inputStream,用于读取一个名为 "file.txt" 的文件。然后创建一个大小为 1024 的字节数组 buffer,用来存储读取到的字节数据。在 while 循环中,我们使用 inputStream.read(buffer) 方法读取字节流到 buffer 数组中,并将读取的字节数赋值给 bytesRead 变量。如果 bytesRead 的值为 -1,说明已经读取到了文件末尾,循环结束。否则,我们可以在循环体内处理读取到的字节数据。最后,我们使用 inputStream.close() 方法关闭输入流。
java 将inputStream转为byte[]
将一个InputStream转换为字节数组可以通过Java的IO流机制来实现。可以先创建一个ByteArrayOutputStream对象,然后循环从InputStream中读取数据,将读取到的数据写入ByteArrayOutputStream中,最后将ByteArrayOutputStream中的字节转换为字节数组即可。
以下是一个示例代码,可以将一个InputStream转换为字节数组:
```java
public static byte[] inputStreamToByteArray(InputStream in) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int n;
while ((n = in.read(buffer)) != -1) {
out.write(buffer, 0, n);
}
return out.toByteArray();
}
```
这个方法使用了Java的IO流机制,将一个InputStream中的字节读取到一个ByteArrayOutputStream中,并返回ByteArrayOutputStream中的字节作为一个字节数组。需要注意的是,在使用完InputStream之后,需要关闭它以释放资源。
阅读全文