亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java解析dbf之通過javadbf包生成和讀取dbf文件

2019-11-26 15:43:32
字體:
來源:轉載
供稿:網友

以下是簡單示例

復制代碼 代碼如下:

package com.cramc;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import com.linuxense.javadbf.DBFException;
import com.linuxense.javadbf.DBFField;
import com.linuxense.javadbf.DBFReader;
import com.linuxense.javadbf.DBFWriter;

public class Rwdbf {

 public static void readDBF(String path)  

    {  

       InputStream fis = null;
        try
        { 
            //讀取文件的輸入流
            fis  = new FileInputStream(path);
            //根據輸入流初始化一個DBFReader實例,用來讀取DBF文件信息
            DBFReader reader = new DBFReader(fis); 
            //調用DBFReader對實例方法得到path文件中字段的個數
            int fieldsCount = reader.getFieldCount();
            System.out.println("字段數:"+fieldsCount);
            //取出字段信息  
            for( int i=0; i<fieldsCount; i++)   
            {  
              DBFField field = reader.getField(i);
              System.out.println(field.getName());
            }  
            Object[] rowValues;  
            //一條條取出path文件中記錄  
            while((rowValues = reader.nextRecord()) != null)
            {  
              for( int i=0; i<rowValues.length; i++)
              {  
                System.out.println(rowValues[i]);
              }  
            }  
          }  
          catch(Exception e)   
          {  
          e.printStackTrace(); 
          } 
          finally 
          {  
          try{  
               fis.close();
          }catch(Exception e){} 
          }
    }  

 

 public static void writeDBF(String path)
 {

  OutputStream fos = null;
  try 
  {  
      //定義DBF文件字段  
      DBFField[] fields = new DBFField[3];
      //分別定義各個字段信息,setFieldName和setName作用相同,
      //只是setFieldName已經不建議使用  
      fields[0] = new DBFField();  
      //fields[0].setFieldName("emp_code");
      fields[0].setName("semp_code");  
      fields[0].setDataType(DBFField.FIELD_TYPE_C);  
      fields[0].setFieldLength(10);  

      fields[1] = new DBFField();  
      //fields[1].setFieldName("emp_name");
      fields[1].setName("emp_name");  
      fields[1].setDataType(DBFField.FIELD_TYPE_C);  
      fields[1].setFieldLength(20);  

      fields[2] = new DBFField();  
      //fields[2].setFieldName("salary");
      fields[2].setName("salary"); 
      fields[2].setDataType(DBFField.FIELD_TYPE_N);  
      fields[2].setFieldLength(12);  
      fields[2].setDecimalCount(2);  

      //DBFWriter writer = new DBFWriter(new File(path));  

      //定義DBFWriter實例用來寫DBF文件  
      DBFWriter writer = new DBFWriter();
      //把字段信息寫入DBFWriter實例,即定義表結構 
      writer.setFields(fields);  
      //一條條的寫入記錄  
      Object[] rowData = new Object[3];
      rowData[0] = "1000";  
      rowData[1] = "John";  
      rowData[2] = new Double(5000.00);
      writer.addRecord(rowData);  

      rowData = new Object[3]; 
      rowData[0] = "1001"; 
      rowData[1] = "Lalit";
      rowData[2] = new Double(3400.00);  
      writer.addRecord(rowData);  

      rowData = new Object[3];
      rowData[0] = "1002";  
      rowData[1] = "Rohit"; 
      rowData[2] = new Double(7350.00); 
      writer.addRecord(rowData);  

      //定義輸出流,并關聯的一個文件  
      fos = new FileOutputStream(path);
      //寫入數據  
      writer.write(fos);  

      //writer.write(); 
  }catch(Exception e)  
  {  
      e.printStackTrace();  
  }  
  finally 
  {  
      try{  
      fos.close();
      }catch(Exception e){}
  }
 }

 public static void main(String[] args){
  String path ="E://tmp//2//xx.dbf";
  try {
   InputStream fis = new FileInputStream(path);
   DBFReader reader = new DBFReader(fis);
   int fieldsCount = reader.getFieldCount();
            System.out.println("字段數:"+fieldsCount);

            DBFField[] df = new DBFField[fieldsCount+2];
            for( int i=0; i<fieldsCount; i++)   
            {  
              df[i] = reader.getField(i);
              System.out.println("field"+i+":"+df[i].getName());
            }
            df[fieldsCount] = new DBFField();
            df[fieldsCount].setName("add1");
            df[fieldsCount].setDataType(DBFField.FIELD_TYPE_C);
            df[fieldsCount].setFieldLength(10);
            df[fieldsCount+1] = new DBFField();
            df[fieldsCount+1].setName("add2");
            df[fieldsCount+1].setDataType(DBFField.FIELD_TYPE_C);
            df[fieldsCount+1].setFieldLength(10);

            DBFWriter writer = new DBFWriter();
            writer.setFields(df);

            Object[] rowValues;
            Object[] rowValues1 = new Object[fieldsCount+2];
            //一條條取出path文件中記錄  
            while((rowValues = reader.nextRecord()) != null)
            {
              for(int i=0;i<fieldsCount;i++){
               rowValues1[i] = rowValues[i];
              }
              rowValues1[fieldsCount]="x";
              rowValues1[fieldsCount+1]="xx";
              writer.addRecord(rowValues1);
            }

           
            path ="E://tmp//2//test2.dbf";
            OutputStream fos = new FileOutputStream(path);
          //寫入數據  
          writer.write(fos);  

          System.out.println("OVER");

           
  } catch (FileNotFoundException | DBFException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩视频在线观看免费| 久久在精品线影院精品国产| 欧美成人久久久| 欧美午夜精品久久久久久久| 欧美性黄网官网| 久久久精品网站| 欧美亚洲视频在线看网址| 欧美视频在线看| 国产日韩在线亚洲字幕中文| 国产成人精品综合久久久| 国产亚洲精品美女久久久久| 日韩美女在线观看| 日韩欧美在线字幕| 亚洲人成电影网| 高清欧美性猛交xxxx黑人猛交| 日产日韩在线亚洲欧美| 米奇精品一区二区三区在线观看| 97av视频在线| 欧美电影在线观看完整版| 久久深夜福利免费观看| 色综合影院在线| 欧美日产国产成人免费图片| 欧美成人精品xxx| 国产精品一区二区三区在线播放| 精品亚洲一区二区| 久久久国产一区二区三区| 亚洲精品97久久| 日韩亚洲精品视频| 国产日韩欧美中文在线播放| 91精品免费久久久久久久久| 国产欧美日韩综合精品| 亚洲二区在线播放视频| 亚洲18私人小影院| 亚洲欧美一区二区三区四区| 亚洲毛片在线观看.| 亚洲直播在线一区| 日韩精品视频在线播放| 日韩中文字幕久久| 日韩在线免费视频观看| 在线成人激情黄色| 日韩精品极品视频| 亚洲专区国产精品| 亚洲综合中文字幕68页| 欧美激情中文字幕在线| 亚洲国语精品自产拍在线观看| 国产美女精品视频免费观看| 精品久久久久久久久久久久久| 91av视频在线播放| 尤物yw午夜国产精品视频| 亚洲一区美女视频在线观看免费| 成人国内精品久久久久一区| 中文字幕av一区二区| 精品亚洲一区二区三区在线观看| 日韩av电影在线网| 国产精品亚洲第一区| 国内免费久久久久久久久久久| 大伊人狠狠躁夜夜躁av一区| 国产精品美女av| 午夜精品久久久久久久白皮肤| 国产视频观看一区| 亚洲аv电影天堂网| 亚洲精品一区二区在线| 久久亚洲精品一区二区| 日韩av在线一区| 国内精品美女av在线播放| 欧美激情2020午夜免费观看| 8090理伦午夜在线电影| 欧美尤物巨大精品爽| 91精品视频专区| 日韩av男人的天堂| 亚洲精品国产成人| 国产精品露脸av在线| 国产精品女主播| 中文字幕日韩av综合精品| 日韩在线欧美在线| 国产精品爽黄69天堂a| 91av视频在线| 久久视频国产精品免费视频在线| 九九热精品视频| 欧美一二三视频| 国产精品专区h在线观看| 国产精品久久久久久一区二区| 成人激情视频在线| 一本久久综合亚洲鲁鲁| 久热国产精品视频| 精品亚洲一区二区三区在线观看| 久久综合88中文色鬼| 91tv亚洲精品香蕉国产一区7ujn| 亚洲第一区在线| 欧美激情中文网| 亚洲第一av网站| 亚洲最大的av网站| 岛国视频午夜一区免费在线观看| 久久99国产精品自在自在app| 日本欧美国产在线| 精品成人国产在线观看男人呻吟| 成人444kkkk在线观看| 91国产高清在线| 91精品在线观看视频| 亚洲欧洲视频在线| 国内揄拍国内精品少妇国语| 国产精品激情av在线播放| 中日韩美女免费视频网址在线观看| 精品国产鲁一鲁一区二区张丽| 成人国产在线激情| 在线观看国产精品日韩av| 欧美亚洲伦理www| 国产最新精品视频| 日韩精品福利网站| 亚洲欧洲日本专区| 久久人人爽人人爽人人片av高请| 亚洲午夜未满十八勿入免费观看全集| 久久亚洲一区二区三区四区五区高| 亚洲肉体裸体xxxx137| 中文字幕在线观看日韩| 色妞在线综合亚洲欧美| 国内精品久久久久久影视8| 国产精品久久久亚洲| 一本色道久久综合亚洲精品小说| 美女av一区二区三区| 国产主播欧美精品| 欧美电影在线观看网站| 在线日韩精品视频| 精品久久久久久中文字幕大豆网| 亚洲男人天堂手机在线| 国产成人精品综合| 亚洲欧美日韩爽爽影院| 成人免费观看49www在线观看| 欧美性猛交xxxx免费看久久久| 国产精品美女主播在线观看纯欲| 日韩欧美一区二区在线| 一个色综合导航| 大伊人狠狠躁夜夜躁av一区| 日本欧美精品在线| 亚洲欧美激情一区| 久久精品久久久久久| 亚洲国产中文字幕在线观看| 日韩精品在线电影| 91久久国产婷婷一区二区| 亚洲精品成人久久| 日日噜噜噜夜夜爽亚洲精品| 日韩美女写真福利在线观看| 精品国产欧美一区二区三区成人| 成人做爽爽免费视频| 中文字幕日韩视频| 97人人模人人爽人人喊中文字| 一本大道香蕉久在线播放29| 精品呦交小u女在线| 久久精品视频中文字幕| 91av视频在线| 亚洲欧美国产视频| 91po在线观看91精品国产性色| 精品国产户外野外| 久久亚洲春色中文字幕| 91精品在线看| 日韩av最新在线| 日韩成人免费视频| 欧美性猛交xxxx乱大交3| 亚洲qvod图片区电影| 亚洲精品网址在线观看| 亚洲一级一级97网| 国产精品99久久久久久久久久久久| 97久久精品视频| 欧美日韩国产专区|