hzhy0303 2020-04-04 14:40 采纳率: 0%
浏览 416
已结题

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);
    }
}
  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2020-04-04 20:49
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题