package com.example.democrud.democurd.sqldemo; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.linuxense.javadbf.DBFField; import com.linuxense.javadbf.DBFReader; import org.apache.commons.lang3.StringUtils; import org.springframework.util.MultiValueMap; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.util.WebUtils; import org.thymeleaf.util.MapUtils; import javax.servlet.http.HttpServletRequest; import java.io.*; import java.math.BigDecimal; import java.nio.charset.Charset; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.*; public class demo6 { public static void main(String[] arg) { ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(new byte[1024]); ByteArrayInputStream byteArrayInputStream2 = new ByteArrayInputStream("1111".getBytes(Charset.forName("UTF-8"))); //Statement state = con.createStatement(); String path = "E:\\桌面\\article.dbf"; InputStream fis = null; String sresult = ""; try { // 读取文件的输入流 fis = new FileInputStream(path); // 根据输入流初始化一个DBFReader实例,用来读取DBF文件信息 DBFReader reader = new DBFReader(fis); // 调用DBFReader对实例方法得到path文件中字段的个数 int fieldsCount = reader.getFieldCount(); // 取出字段信息 for (int i = 0; i < fieldsCount; i++) { DBFField field = reader.getField(i); System.out.println("标题行的值==>" + field.getName()); } System.out.println("--------------------"); Object[] rowValues; // 一条条取出path文件中记录 List<Map> leee = new ArrayList<>(); List<List<Object>> leees = new ArrayList<>(); List<Object> list1=new ArrayList<>(); while ((rowValues = reader.nextRecord()) != null) { Map<String, Object> map = new HashMap<>(); // System.out.println("rowValues====" + JSON.toJSON(rowValues)); Object obj = JSON.toJSON(rowValues); for (int i = 0; i < rowValues.length; i++) { // System.out.println(rowValues[i]); map.put("测试" + String.valueOf(i + 1), rowValues[i]); } leee.add(map); list1.add(leee); } leees.add(list1); System.out.println(leees); } catch (Exception e) { e.printStackTrace(); } finally { try { fis.close(); } catch (Exception e) { } } } }
标题行的值==>id 标题行的值==>author_id 标题行的值==>category_i 标题行的值==>views 标题行的值==>comments 标题行的值==>title 标题行的值==>content -------------------- [[[{测试5=1, 测试4=1, 测试3=1, 测试2=1, 测试7=1, 测试6=1, 测试1=1}, {测试5=2, 测试4=2, 测试3=2, 测试2=2, 测试7=2, 测试6=2, 测试1=2}, {测试5=3, 测试4=3, 测试3=3, 测试2=3, 测试7=3, 测试6=3, 测试1=3}, {测试5=3, 测试4=3, 测试3=1, 测试2=1, 测试7=3, 测试6=3, 测试1=4}, {测试5=4, 测试4=4, 测试3=1, 测试2=1, 测试7=4, 测试6=4, 测试1=5}], [{测试5=1, 测试4=1, 测试3=1, 测试2=1, 测试7=1, 测试6=1, 测试1=1}, {测试5=2, 测试4=2, 测试3=2, 测试2=2, 测试7=2, 测试6=2, 测试1=2}, {测试5=3, 测试4=3, 测试3=3, 测试2=3, 测试7=3, 测试6=3, 测试1=3}, {测试5=3, 测试4=3, 测试3=1, 测试2=1, 测试7=3, 测试6=3, 测试1=4}, {测试5=4, 测试4=4, 测试3=1, 测试2=1, 测试7=4, 测试6=4, 测试1=5}], [{测试5=1, 测试4=1, 测试3=1, 测试2=1, 测试7=1, 测试6=1, 测试1=1}, {测试5=2, 测试4=2, 测试3=2, 测试2=2, 测试7=2, 测试6=2, 测试1=2}, {测试5=3, 测试4=3, 测试3=3, 测试2=3, 测试7=3, 测试6=3, 测试1=3}, {测试5=3, 测试4=3, 测试3=1, 测试2=1, 测试7=3, 测试6=3, 测试1=4}, {测试5=4, 测试4=4, 测试3=1, 测试2=1, 测试7=4, 测试6=4, 测试1=5}], [{测试5=1, 测试4=1, 测试3=1, 测试2=1, 测试7=1, 测试6=1, 测试1=1}, {测试5=2, 测试4=2, 测试3=2, 测试2=2, 测试7=2, 测试6=2, 测试1=2}, {测试5=3, 测试4=3, 测试3=3, 测试2=3, 测试7=3, 测试6=3, 测试1=3}, {测试5=3, 测试4=3, 测试3=1, 测试2=1, 测试7=3, 测试6=3, 测试1=4}, {测试5=4, 测试4=4, 测试3=1, 测试2=1, 测试7=4, 测试6=4, 测试1=5}], [{测试5=1, 测试4=1, 测试3=1, 测试2=1, 测试7=1, 测试6=1, 测试1=1}, {测试5=2, 测试4=2, 测试3=2, 测试2=2, 测试7=2, 测试6=2, 测试1=2}, {测试5=3, 测试4=3, 测试3=3, 测试2=3, 测试7=3, 测试6=3, 测试1=3}, {测试5=3, 测试4=3, 测试3=1, 测试2=1, 测试7=3, 测试6=3, 测试1=4}, {测试5=4, 测试4=4, 测试3=1, 测试2=1, 测试7=4, 测试6=4, 测试1=5}]]]
POM文件
<dependency> <groupId>com.github.albfernandez</groupId> <artifactId>javadbf</artifactId> <version>1.13.1</version> </dependency>
DBF文件样式;