Java 将原始数据转换为结构化表

Java 将原始数据转换为结构化表,java,hex,bytearray,endianness,hexdump,Java,Hex,Bytearray,Endianness,Hexdump,我使用dd命令从磁带中提取了一个原始数据文件 之后,我设法用编辑器读取提取的数据,发现在偏移量0x200000处存储了一个表 我想提取此数据并将其导入Excel或CSV文件: 这是以十六进制格式提取的数据及其以无符号整数小尾数表示的示例: //Hex Not. //Little-Endian unsigned int 32 10 00 00 00 // 84 (Ref Number) 54 00 00 00 // 70185301 (Ref Number) 55 F

我使用dd命令从磁带中提取了一个原始数据文件

之后,我设法用编辑器读取提取的数据,发现在偏移量0x200000处存储了一个表

我想提取此数据并将其导入Excel或CSV文件:

这是以十六进制格式提取的数据及其以无符号整数小尾数表示的示例:

//Hex Not.    //Little-Endian unsigned int 32
10 00 00 00   // 84       (Ref Number)  
54 00 00 00   // 70185301 (Ref Number)
55 F1 2E 04   // 20070306 (Date)
A2 3F 32 01   // 15144184 (Time)
F8 14 E7 00   // 20070306 (Date)
A2 3F 32 01   // 15491037 (Time)
DD 5F EC 00   // 1
01 00 00 00   // 1
01 00 00 00   // 4486656
00 76 44 00   // 492
EC 01 00 00   // 1
01 00 00 00   // 814185724
FC 7C 87 30   // 814185728
00 7D 87 30   // 814185732
04 7D 87 30   // 16
表格的新行

10 00 00 00   // 84
54 00 00 00   // 70185301
55 F1 2E 04   // 20070306
A2 3F 32 01   // 15491037
DD 5F EC 00   // 20070306
A2 3F 32 01   // 15534889
29 0B ED 00   // 18
12 00 00 00   // 1
01 00 00 00   // 4486656
00 76 44 00   // 492
EC 01 00 00   // 1
01 00 00 00   // 814185724
FC 7C 87 30   // 814185728
00 7D 87 30   // 814185732
04 7D 87 30   // 16
等等

我的问题是:

1) 从这段转换后的数据开始,您能理解原始文件是如何编码的吗

2) 如何转换此原始文件,以便使用此数据按行排序创建excel或csv文档

这是我在Java中的尝试:

File fileInputString = new File(inputFileField.getText()); //Get the file in SWING 
FileInputStream fin = new FileInputStream(fileInputString);  
FileOutputStream out = new FileOutputStream(fileDirectoryFolder.getText() +"/"+ fileInputString.getName()); //Create the new converted file 

byte[] fileContent = new byte[(int)fileInputString.length()]; // import the raw data length
fin.read(fileContent); // read the data

for(int i = 0; i < fileContent.length; i++){
   out.write(fileContent[i]); // write the data
}
out.close();
File fileInputString=新文件(inputFileField.getText())//把文件打开
FileInputStream fin=新的FileInputStream(fileInputString);
FileOutputStream out=新的FileOutputStream(fileDirectoryFolder.getText()+“/”+fileInputString.getName())//创建新的转换文件
byte[]fileContent=新字节[(int)fileInputString.length()];//导入原始数据长度
财务读取(文件内容);//读取数据
for(int i=0;i

谢谢

Excel有一个非常复杂的文件规范。如果此软件不是针对消费者的,您是否考虑过改为写入CSV文件(逗号分隔的值)?它可以在MS Excel和所有其他体面的电子表格程序中打开。当然是的,我对格式中的数据不感兴趣。这绝对没问题