原文出处
终于整理完dbf文件读写的java源码,欢迎使用
修改以下代码
private void init(InputStream inputstream)
throws JDBFException
{
try
{
stream = new DataInputStream(inputstream);
int i = readHeader();
fields = new JDBField[i];
int j = 1;
for(int k = 0; k < i; k )
{
fields[k] = readFieldHeader();
j = fields[k].getLength();
}
if(stream.read() < 1)
throw new JDBFException("Unexpected end of file reached.");
nextRecord = new byte[j];
try
{
//stream.readFully(nextRecord);
stream.read(new byte[263]);
stream.readFully(nextRecord);
}
catch(EOFException eofexception)
{
nextRecord = null;
stream.close();
}
}
catch(IOException ioexception)
{
throw new JDBFException(ioexception);
}
}
private int readHeader()
throws IOException, JDBFException
{
byte abyte0[] = new byte[16];
try
{
stream.readFully(abyte0);
}
catch(EOFException eofexception)
{
throw new JDBFException("Unexpected end of file reached.");
}
int i = abyte0[8];
if(i < 0)
i = 256;
i = 256 * abyte0[9];
i -= 264;
i = --i / 32;
//i = --i / 32;
//i--;
try
{
stream.readFully(abyte0);
}
catch(EOFException eofexception1)
{
throw new JDBFException("Unexpected end of file reached.");
}
return i;
}
dbf文件定义格式:http://www.clicketyclick.dk/databases/xbase/format/dbf.html
上一篇: 用Java生成文本文件(收集)
下一篇: 在Unix和Linux下安装JDK及环境设置
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


