List<Map> maplist = new ArrayList(); try { File files = new File("C:\\Users\\HEDY\\Desktop\\archivists.mdb"); FileUtils.copyInputStreamToFile(file.getInputStream(), files); Database dbin = null; dbin = Database.open(files);//读文件 Set<String> tables = dbin.getTableNames(); for (String enSurfaceName : tables) {//遍历所有表名 Map mapTable = new HashMap(); //通过表名查询所有的中文字段 mapTable.put("tableName", enSurfaceName); Table table = dbin.getTable(enSurfaceName);//获取对应表结构 List<Map> list = new ArrayList(); for (Map<String, Object> map : table) {//遍历表数据 list.add(map); } mapTable.put("data", list); maplist.add(mapTable); } dbin.close(); files.delete(); List<Object> list= (List<Object>) maplist.get(0).get("data"); int count = list.size(); // 总记录数 // 计算总页数 int pages = count % pageSize == 0 ? count / pageSize : count / pageSize + 1; // 起始位置 int start = pageNum <= 0 ? 0 : (pageNum > pages ? (pages - 1) * pageSize : (pageNum - 1) * pageSize); // 终止位置 int end = pageNum <= 0 ? (pageSize <= count ? pageSize : count) : (pageSize * pageNum <= count ? pageSize * pageNum : count); CommonPage objectCommonPage = new CommonPage<>(); objectCommonPage.setPageNum(pageNum); objectCommonPage.setPageSize(pageSize); objectCommonPage.setTotal(Long.valueOf(list.size())); objectCommonPage.setTotalPage((list.size() + pageSize - 1) / pageSize); objectCommonPage.setList(list.subList(start, end)); return objectCommonPage; } catch (IOException e) { e.printStackTrace(); }