Java怎么给DBF模版文件中添加数据记录?

  1. 我现在需要给一个DBF文件中添加数据,DBF中有格式,所以没法重新生成一个新的DBF.想以这个模板来新增数据到DBF中
  2. 试过writer.setFields(fields);定义表结构并插入数据,然而生成的DBF文件显示头部错误,试过new一个模板文件copy了一份,再读新生成的这个文件,并添加数据入其中,数据插入失败,文件也未成功.
  3. 此处贴代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import com.linuxense.javadbf.DBFWriter;

public class writeDBF {
    public static void copyDBF(File source, File dest) {
        InputStream in = null;
        OutputStream out = null;
        try {
            in = new FileInputStream(source);
            out = new FileOutputStream(dest);
              byte[] buf = new byte[1024];
              int bytesRead;
              while ((bytesRead = in.read(buf)) > 0) {
                  out.write(buf, 0, bytesRead);
              }
        } catch(Exception e){
            e.printStackTrace();
        }finally {
            try {
                in.close();
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    public static void writeDBF(File dest) {
        DBFWriter writer;
        try {
            writer = new DBFWriter(dest);
            Object[] rowData = new Object[8];
            rowData[0] = "1";  
            rowData[1] = "1";  
            rowData[2] = null;
            rowData[3] = null;
            rowData[4] = null;
            rowData[5] = null;
            rowData[6] = null;
            rowData[7] = null; 
            writer.addRecord(rowData);
            OutputStream fos = new FileOutputStream(dest);
            writer.write(fos);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        File source = new File("D:/java/ZJRMYEK.DBF");
        File dest = new File("D:/java/aaa.DBF");
        writeDBF.copyDBF(source,dest);
        writeDBF.writeDBF(dest);
    }
}

https://www.cnblogs.com/cbread/p/4205825.html