Java 如何读取.dat文件并写入文本文件?
如何在Java中读取.dat文件并将该数据写入文本文件。 这是我的代码,我已经尝试过,但我得到的错误。请有人帮帮我 字符串inputFile=“file.dat”Java 如何读取.dat文件并写入文本文件?,java,file,readfile,Java,File,Readfile,如何在Java中读取.dat文件并将该数据写入文本文件。 这是我的代码,我已经尝试过,但我得到的错误。请有人帮帮我 字符串inputFile=“file.dat” 错误-- 线程“main”java.io.UTFDataFormatException中出现异常:输入格式错误 大约字节3 at java.io.DataInputStream.readUTF(Unknown Source) at java.io.DataInputStream.readUTF(Unknown Source) at
错误-- 线程“main”java.io.UTFDataFormatException中出现异常:输入格式错误 大约字节3
at java.io.DataInputStream.readUTF(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at datReader.main(datReader.java:16)
看看这个例子:
public static void main(String[] args) throws IOException {
byte[] data = Files.readAllBytes(Paths.get("mydatfile.dat"));
/* set correct required charset */
String content = new String(data, StandardCharsets.UTF_8);
// convert/transform here string if required
Files.write(Paths.get("file.txt"), content.getBytes(StandardCharsets.UTF_8));
}
此代码假定您使用Java8。很可能您必须处理从dat文件读取的字节数组,以将其转换为字符串数据。您的
.dat
文件的源是什么?可能.dat文件不包含您期望的内容(不是UTF-8)。是的:文件的内容不是用writeUTFWhat“可读格式”写入的?这是一个六边形垃圾场吗?如果您知道文件的格式,是否希望使用该信息来解析文件。你需要明确你想要的输出是什么,才能得到一个可读的输出,你必须知道输入是什么,否则这只是一个垃圾输入垃圾输出的例子。因此,您首先要告诉我们的是输入文件的格式。和.dat
不是一种文件格式,而是一种可由各种二进制文件格式使用的扩展名。感谢您的回复。但得到的输出和输入文件中的输出相同。请注意我的评论。我不知道您应该如何处理dat文件数据,这就是为什么我提到您必须转换它
public static void main(String[] args) throws IOException {
byte[] data = Files.readAllBytes(Paths.get("mydatfile.dat"));
/* set correct required charset */
String content = new String(data, StandardCharsets.UTF_8);
// convert/transform here string if required
Files.write(Paths.get("file.txt"), content.getBytes(StandardCharsets.UTF_8));
}