我正在尝试将数据写入二进制格式的文件以进行压缩.数据完全由浮点组成,因此我决定将数据量化为0到65535之间的整数,这样数据就可以写成两位无符号整数,最终节省空间.但是,我需要将量化数据输出到二进制文件而不是人类可读的Ascii.
目前这就是我正在做的事情
@param output将包含已经量化的数据的文件作为.txt文件中的字符串
public void generateBinaryRioFile(String materialLibrary,
String outputFile, String group, String mtlAux) {
try {
// Create file
FileWriter fileStream = new FileWriter(outputFile);
try {
BufferedReader br = new BufferedReader(new FileReader(new File(
"idx.txt")));
while ((line = br.readLine()) != null) {
writer.write(line + "\n");
}
try {
br.close();
} catch (FileNotFoundException e) {
e.getMessage();
} catch (IOException e) {
e.printStackTrace();
} BufferedWriter writer = new BufferedWriter(fileStream);
Run Code Online (Sandbox Code Playgroud)
但是,它将文件写为人类可读的字符串.我需要将它写成二进制数据.如何在Java中实现这一目标?
如果假设我有一个文件,例如music.mp3或image.jpg要考虑的任何文件.我如何将这些文件的二进制表示形式转换为java中的字符串值,以便我可以查看它?
例如:假设我有文件调用'video.mp4'然后必须101011010101000111010在内存中表示为或类似的东西我需要获取值并将其存储在String中String s = "101011010101000111010"
有没有人知道如何在java中这样做?
编辑2如何将字符串转换回实际文件?