Java byte数组 转为文件
时间: 2023-06-04 21:03:06 浏览: 1436
可以使用 FileOutputStream 来将 byte 数组写入文件。具体代码如下:
```
byte[] bytes = ...; // byte 数组数据
String filePath = ...; // 输出文件路径
// 写入文件
FileOutputStream fos = new FileOutputStream(filePath);
fos.write(bytes);
fos.close();
```
其中,`FileOutputStream` 实例化时传入的参数即为输出文件的路径,`write()` 方法将 byte 数组写入文件,`close()` 方法用于关闭输出流。
相关问题
JAVA byte数组转为string乱码
当将byte数组转换为字符串时,需要指定字符集。如果没有指定字符集,则默认使用平台默认字符集。如果字节数组中包含的字节不是指定字符集的有效字符,则可能会出现乱码。
以下是将byte数组转换为字符串的示例代码:
```java
byte[] bytes = {72, 101, 108, 108, 111, 32, -27, -101, -67, -26, -106, -121};
String str = new String(bytes, "UTF-8");
System.out.println(str);
```
在上面的代码中,字节数组包含12个字节,前6个字节表示“Hello ”,后6个字节表示“世界”,使用UTF-8字符集将byte数组转换为字符串,输出结果为:
```
Hello 世界
```
如果使用了错误的字符集,则可能会出现乱码。例如,如果将上面的代码中的“UTF-8”改为“ISO-8859-1”,则输出结果将变为:
```
Hello ������
```
因为ISO-8859-1字符集不支持中文字符,所以将中文字符转换为了乱码。
Java byte数组转为string
可以使用Java的String类的构造方法来将byte数组转换为字符串。
例如:
```java
byte[] byteArray = {72, 101, 108, 108, 111}; // "Hello" 的字节数组表示
String str = new String(byteArray);
System.out.println(str); // 输出 "Hello"
```
需要注意的是,当将一个字节数组转换为字符串时,需要指定该字节数组所使用的字符集。如果不指定字符集,Java将使用默认的字符集。