java string 保存为二进制文件
时间: 2023-11-19 21:06:32 浏览: 230
java代码-2.任意给出一个十进制整数,将十进制整数转换为二进制数。
要将Java字符串保存为二进制文件,可以使用Java的FileOutputStream和DataOutputStream类。以下是一个示例代码:
```java
import java.io.*;
public class StringToBinaryFile {
public static void main(String[] args) {
String str = "Hello, World!"; // 要保存的字符串
String filename = "output.bin"; // 保存的文件名
try {
FileOutputStream fos = new FileOutputStream(filename);
DataOutputStream dos = new DataOutputStream(fos);
// 将字符串转换为字节数组,并写入二进制文件
byte[] bytes = str.getBytes();
dos.writeInt(bytes.length);
dos.write(bytes);
dos.close();
fos.close();
System.out.println("字符串已保存为二进制文件:" + filename);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们首先将字符串转换为字节数组,然后使用DataOutputStream类将字节数组写入二进制文件。请注意,在写入字节数组之前,我们首先写入字节数组的长度,以便在读取文件时知道要读取多少字节。
要读取保存的二进制文件并将其转换回字符串,可以使用Java的FileInputStream和DataInputStream类。以下是一个示例代码:
```java
import java.io.*;
public class BinaryFileToString {
public static void main(String[] args) {
String filename = "output.bin"; // 保存的文件名
try {
FileInputStream fis = new FileInputStream(filename);
DataInputStream dis = new DataInputStream(fis);
// 读取字节数组的长度,并根据长度读取字节数组
int length = dis.readInt();
byte[] bytes = new byte[length];
dis.readFully(bytes);
// 将字节数组转换为字符串并输出
String str = new String(bytes);
System.out.println("从二进制文件读取的字符串:" + str);
dis.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们首先读取保存的字节数组的长度,然后根据长度读取字节数组。最后,我们将字节数组转换为字符串并输出。请注意,在读取字节数组时,我们使用了DataInputStream类的readFully方法,以确保读取的字节数组与长度相同,并且没有被截断。
阅读全文