在做那个提取是没问题,二进制数据读取,但是在做数据格式分析存在很大问题,还是看的不是很懂他那个介绍的格式排版的样子,比较理解不通,所以排版的时候那个write(data,*,*);*不清楚从哪下手,也看了JDK上面说是从偏移的位置的字符开始,后面那个*是字符个数,我自己理解一个16进制包含4个字节,1个字节就一个字符,所以0X00-0X03是16个字节,但结果好像有问题,现在不是很清楚,他那个第一块包含24个字节,应该是里面的内容吧,不应该是整个第一块的大小吧?
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.OutputStream;
public class Datwj {
public static void main(String[] args) throws FileNotFoundException,
IOException {
File obfile = new File("E:/股票/dzh2/data/sz/day.dat");//二进制文件名:
OutputStream out =new FileOutputStream("F:/123.txt");
BufferedInputStream instream;
try {
instream = new BufferedInputStream(new FileInputStream(obfile));
try {
byte[] abc=new byte[232];
while(true){
int Read= instream.read(abc);
if(Read==-1)break;
out.write(abc,0,4);
out.write(abc,16,4);
out.write(abc,32,4);
out.write(abc,48,4);
out.write(abc,64,4);
out.write(abc,80,4);
out.write(abc,96,10);
out.write(abc,112,8);
out.write(abc,128,50);
}
instream.close();
} catch (IOException ex) {
}
} catch (FileNotFoundException ex) {
}
}
}