各位Java高手大哥大,我要实现读取这么一系列
数据: 
09 58 0D 04 37 0D 07 AF 0D 09 35 0D 00 5C 0D 20 00 0D 06 4A 0D 07 2D 0D 09 57 0D 04 37 0D 07 B0 0D 08 DB 0D 00 5C 0D 20 00 0D 06 B8 0D 07 7D 0D 09 56 0D 04 37 0D 07 B0 0D 08 9F 0D 00 5C 0D 20 00 0D 07 1C 0D 07 C2 0D 09 56 0D 04 37 0D 07 AF 0D 08 79 0D 00 5C 0D 20 00 0D 07 76 0D 07 FD 0D 09 56 0D 04 37 0D 07 AF 0D 08 5F 0D 00 5C 0D 20 00 0D 07 C1 0D 08 2F 0D 09 58 0D 04 37 0D 07 B0 0D 08 5A 0D 00 5C 0D 20 00 0D 08 04 0D 08 17 0D 09 58 0D 04 37 0D 07 AF 0D 08 55 0D 00 5C 0D 20 ... ...
然后读出的时候0958为一个16进制数,0D04是一组16进制数,依次类推。目前,我写的代码如下,当数据量较小时,比如1000组数以内,读取的数据完全没有问题,再多的时候发现了数据和文本文件中的数据对应不起来了,能不能帮忙解决一些问题。非常感谢。(我要读取的文本数据很大,10万这样的十六进制不止,打开文本文件就反应好慢,有没有更好的读取方法啊?去帮助!!!!!!!!!!!!!!)package demo20110710;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;public class ShaoData { /**
 * @param args
 */
public static String[] data;
public static void main(String[] args) {
// TODO Auto-generated method stub

JFileChooser fileChooser = new JFileChooser("数据导入");
fileChooser.setMultiSelectionEnabled(false);
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setFileFilter(new FileFilter() {

@Override
public String getDescription() {
// TODO Auto-generated method stub
return ".txt";
} @Override
public boolean accept(File f) {
// TODO Auto-generated method stub
return f != null &&  f.getName().endsWith(".txt");
}
});
int result = fileChooser.showOpenDialog(JOptionPane.getRootFrame());
if (result == JFileChooser.APPROVE_OPTION) {
try {
FileInputStream fis = new FileInputStream(fileChooser.getSelectedFile().getAbsolutePath());
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader bf = new BufferedReader(isr);
String line = "";
int row = 0;
while ((line = bf.readLine()) != null) {
 
  data =line.split(" ");
// double data1 = Double.parseDouble(data[0]);
// double data2 = Double.parseDouble(data[1]);
                 for (int i=0;i<=data.length-2;i=i+2)
{
                  if(i==data.length)
                  break;
                  System.out.println(data[i]+data[i+1]);
                
} }

// System.out.println(row);//输入的行数

//  FileOutputStream outfis = new FileOutputStream("D:\\Copy.txt");
//   OutputStreamWriter osr = new OutputStreamWriter(outfis);
   FileWriter fileWriter = new FileWriter("D:\\Copy.txt");
   for (int j = 0; j < args.length; j++) {
   fileWriter.write(data[j]+" ");
int i=1;
if (j==7*i)
{fileWriter.write('\r'+'\n');
i++;
}
}
  
   fileWriter.flush();
   bf.close();
fileWriter.close();

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }}相关帖子发表在http://topic.csdn.net/u/20110710/20/bf9e46bc-fd8d-4516-92b6-2c8115495e8b.html