swing操作文件和文件夹

import com.baidu.aip.ocr.AipOcr;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import org.json.JSONObject;

import javax.swing.;
import java.awt.
;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**

  • @author xuexiaojun

  • @creat 2019-11-01 9:24
    */
    public class OcrTestMetherd{

    public static final String APP_ID = “17076882”;
    public static final String API_KEY = “pMNo0g74SMVwdj5dgGSegyTk”;
    public static final String SECRET_KEY = “9BPYVVqYb9wTuyPSBMlRGSKH06xkDhSU”;

    public static JSONObject getImageValueData(String imagePath) {
    // 初始化一个AipOcr
    JSONObject res = null;
    try {
    AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);
    // 调用接口
    HashMap<String, String> options = new HashMap<String, String>();
    //是否翻转
    options.put(“detect_direction”, “true”);
    res = client.basicGeneral(imagePath, options);
    // System.out.println(res.toString(2));
    } catch (Exception e) {
    System.out.println("=read image failed=");
    }
    return res;
    }

    /***

    • 处理去程报关单图片文字识别处理
    • @param res
    • @param customsDeclaration
    • @param goodsInfoList
      */
      public static void dealImageJSONObjectData(JSONObject res, CustomsDeclaration customsDeclaration, Set goodsInfoList) {
      try {
      SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMdd”);
      Map<String, Object> map = res.toMap();
      List<Map<String, String>> dataList = (List<Map<String, String>>) map.get(“words_result”);
      for (int i = 0; i < dataList.size(); i++) {
      Map<String, String> stringStringMap = dataList.get(i);
      if (stringStringMap.get(“words”) == null){
      continue;
      }
      String value = stringStringMap.get(“words”).trim().replace(" “, “”);
      //“填内发货人”
      if (value.contains(“发货人”)) {
      setShipperNoValue(customsDeclaration, value);
      for (int j = i + 1; j < dataList.size(); j++) {
      i = j;
      stringStringMap = dataList.get(j);
      value = stringStringMap.get(“words”).trim();
      value = value.replaceAll(“G”, “0”);
      Pattern p = Pattern.compile(”[0-9]{8}");
      Matcher matcher = p.matcher(value);
      Pattern pNoMore = Pattern.compile("[0-9]{6,7}");
      Matcher matcherNoMore = pNoMore.matcher(value);
      StringBuffer sb = new StringBuffer();
      if(value.contains(“公司”)){
      customsDeclaration.setShipperCnname(value);
      }else if(value.contains(“运港”) || value.contains(“成交方式”) || value.contains(“征税”) || value.contains(“收货人”) || value.contains(“境外收货”) || value.contains(“运单号”) || value.contains(“贸易”)){
      i–;
      break;
      }else if(value.contains(“发货人”)) {
      setShipperNoValue(customsDeclaration, value);
      }else if (matcher.matches()) {
      sb.append(matcher.group());
      value = sb.toString();
      try {
      if (customsDeclaration.getDeclareDate() == null){
      customsDeclaration.setDeclareDate(sdf.parse(value));
      }
      } catch (Exception e) {
      // logger.error("=dateFormat error=", e);
      }
      }
      }
      }else if (value.contains(“集装箱标箱数及号码”)) {
      if (value.length() > 127){
      value = value.substring(0, 127);
      }
      customsDeclaration.setCountAndNo(value);
      i = getGoodsInfoValue(customsDeclaration, goodsInfoList, dataList, i);
      } else if (value.contains(“报日期”) || value.contains(“口日期”) || value.contains(“备案号”)) {
      for (int j = i + 1; j < dataList.size(); j++) {
      i = j;
      stringStringMap = dataList.get(j);
      value = stringStringMap.get(“words”).trim();
      value = value.replaceAll(“G”, “0”);
      Pattern p = Pattern.compile("[0-9]{8}");
      Matcher matcher = p.matcher(value);
      Pattern pNoMore = Pattern.compile("[0-9]{6,7}");
      Matcher matcherNoMore = pNoMore.matcher(value);
      StringBuffer sb = new StringBuffer();
      if(value.contains(“公司”)){
      customsDeclaration.setShipperCnname(value);
      }else if(value.contains(“指运港”) || value.contains(“般征税”) || value.contains(“销售单位”) || value.contains(“境口岸”) || value.contains(“收货人”) || value.contains(“境内收货”)){
      i–;
      break;
      }else if(value.contains(“发货人”)) {
      setShipperNoValue(customsDeclaration, value);
      }else if (matcher.matches()) {
      sb.append(matcher.group());
      value = sb.toString();
      // try {
      if (customsDeclaration.getDeclareDate() == null){
      customsDeclaration.setDeclareDate(sdf.parse(value));
      }
      // } catch (Exception e) {
      logger.error("=dateFormat error=", e);
      // }
      }
      }
      }else if (value.contains(“收货人”)) {
      getReceiveShipperNoValue(customsDeclaration, value);
      }else if (value.contains(“运单号”) || value.contains(“坛单号”)){
      i++;
      value = dataList.get(i).get(“words”).trim();
      stringStringMap = dataList.get(i);
      if (value.contains(“运输”)){
      continue;
      }else if (value.contains(“销售单位”)){
      i = getProductComponyValue(customsDeclaration, dataList, i, stringStringMap);
      }else{
      customsDeclaration.setReceiveShipperCnname(dataList.get(i).get(“words”).replace("(", “”).replace(")", “”));
      }
      }else if (value.contains(“销售单位”)) {
      i = getProductComponyValue(customsDeclaration, dataList, i, stringStringMap);
      } else if (value.contains(“许可证”) || value.contains(“可证号”) || value.contains(“监管方式”)) {
      for (int j = i + 1; j < dataList.size(); j++) {
      i = j;
      stringStringMap = dataList.get(j);
      value = stringStringMap.get(“words”).trim();
      StringBuffer sb = new StringBuffer();
      if (value.contains(“公司”)) {
      customsDeclaration.setProductCompony(dataList.get(i).get(“words”).replace(“锎”, “铜”));
      } else if (value.contains(“合同协”) || value.contains(“易国”) || value.contains(“抵国”)) {
      i–;
      break;
      }else if (value.contains(“销售单位”)) {
      getProductComponyNoValue(customsDeclaration, stringStringMap);
      }
      }
      } else if (value.contains(“运抵国”) || value.contains(“运抵”) || value.contains(“抵国”)) {
      i = i + 4;
      customsDeclaration.setArriveCountry(dataList.get(i).get(“words”));
      } else if (value.contains(“毛重”) || value.contains(“净重”)) {
      i = getTotleWeightValue(customsDeclaration, dataList, i);
      } else if (value.trim().contains(“目的国”)) {
      i = getGoodsInfoValue(customsDeclaration, goodsInfoList, dataList, i);
      }else if (value.trim().endsWith(“境内货源地”) || value.trim().contains(“品名称及规格”) || value.trim().contains(“商品编号”)) {
      i = getGoodsInfoValue(customsDeclaration, goodsInfoList, dataList, i);
      }else if (value.endsWith(“征免”) || value.endsWith(“征兔”)) {
      i = getGoodsInfoValue(customsDeclaration, goodsInfoList, dataList, i);
      } else if ((value.contains(“申报单”) || value.contains(“报单位”)) && !value.contains(“签章”)) {
      getDeclareUnitInfoValue(customsDeclaration, dataList, i);
      break;
      }
      }
      } catch (Exception e) {
      // logger.error("===deal imagedata failed", e);
      }
      }

    private static int getProductComponyValue(CustomsDeclaration customsDeclaration, List<Map<String, String>> dataList, int i, Map<String, String> stringStringMap) {
    String value;
    getProductComponyNoValue(customsDeclaration, stringStringMap);
    for (int j = i + 1; j < dataList.size(); j++) {
    i = j;
    stringStringMap = dataList.get(j);
    value = stringStringMap.get(“words”).trim();
    StringBuffer sb = new StringBuffer();
    if (value.contains(“公司”)) {
    customsDeclaration.setProductCompony(dataList.get(i).get(“words”).replace(“锎”, “铜”));
    } else if (value.contains(“运费”) || value.contains(“运港”) || value.contains(“合同协议号”) || value.contains(“贸易国”) || value.contains(“抵国”)) {
    i–;
    break;
    }
    }
    return i;
    }

    //读取报关单位信息
    private static void getDeclareUnitInfoValue(CustomsDeclaration customsDeclaration, List<Map<String, String>> dataList, int i) {
    String value;
    value = dataList.get(i).get(“words”).replaceAll("\)", “”);
    Pattern p = Pattern.compile("[0-9A-Za-z]");
    Matcher matcher = p.matcher(value);
    StringBuffer sb = new StringBuffer();
    while (matcher.find()) {
    sb.append(matcher.group());
    }
    customsDeclaration.setDeclareUnitno(sb.toString());
    value = value.length() <= (value.indexOf(sb.toString()) + sb.toString().length()) ? value : value.substring(value.indexOf(sb.toString()) + sb.toString().length());
    customsDeclaration.setDeclareUnit(value);
    }

    //读取货物相关信息
    private static int getGoodsInfoValue(CustomsDeclaration customsDeclaration, Set goodsInfoList, List<Map<String, String>> dataList, int i) {
    Map<String, String> stringStringMap;
    String value;
    StringBuffer allGoodNoSb = new StringBuffer();
    StringBuffer allGoodNameSb = new StringBuffer();
    for (int j = i + 1; j < dataList.size(); j++) {
    i = j;
    stringStringMap = dataList.get(j);
    value = stringStringMap.get(“words”).trim();
    if (value.contains(“特殊关系确认”) || value.contains(“价格影响确认”) || value.contains(“报关人员”) || (j == dataList.size() - 1)) {
    if (allGoodNameSb.length() > 0) {
    customsDeclaration.setAllgoodsCnname(allGoodNameSb.substring(0, allGoodNameSb.lastIndexOf(",")));
    }
    if (allGoodNoSb.length() > 0) {
    customsDeclaration.setAllgoodsNo(allGoodNoSb.substring(0, allGoodNoSb.lastIndexOf(",")));
    }
    break;
    }
    if (value.contains(".") || value.contains(“千克”) || value.contains(“征免”) || value.contains(“征兔”)) {
    continue;
    }
    Pattern p = Pattern.compile("[0-9]{7,10}");
    Matcher matcher = p.matcher(value);
    Pattern pStart = Pattern.compile("1{7,10}.");
    Matcher matcherStart = pStart.matcher(value);
    Pattern pWord = Pattern.compile("[\u4e00-\u9fa5]");
    Matcher matcherWord = pWord.matcher(value);
    if (matcher.find() && matcherStart.matches() && matcherWord.find() && !value.contains("(")) {
    String goodNo = matcher.group();
    if (goodNo.equals(value)){
    continue;
    }
    value = value.length() <= (value.indexOf(goodNo) + goodNo.length()) ? value : value.substring(value.indexOf(goodNo) + goodNo.length());
    if (value.contains(“转”)){
    value = value.replace(“6”, “E”);
    }
    if (value.startsWith(“0”) && value.length() > 1){
    goodNo = goodNo.substring(1) + “0”;
    value = value.substring(1);
    }
    String[] subArray = {"%", “#”, “)”, "
    ", “+”, “,”, “|”, “°”, “”"};
    for (String s : subArray) {
    if (value.startsWith(s)){
    value = value.substring(1);
    }
    }
    Pattern pNum = Pattern.compile("[0-9a-zA-z]{1,4}");
    Matcher matcherNum = pNum.matcher(value);
    if (matcherNum.matches()){
    continue;
    }
    if (goodNo.length() == 7){
    goodNo = goodNo + “000”;
    }else if (goodNo.length() == 9){
    goodNo = goodNo + “0”;
    }else if (goodNo.length() == 8){
    goodNo = goodNo + “00”;
    }
    allGoodNoSb.append(goodNo).append(",");
    allGoodNameSb.append(value).append(",");
    customsDeclaration.setGoodsNo(goodNo);
    customsDeclaration.setGoodsCnname(value);
    Goodsinfo goodsInfo = new OcrTestMetherd().new Goodsinfo(goodNo, value, “”);
    goodsInfoList.add(goodsInfo);
    continue;
    }
    //境内货源地
    stringStringMap = dataList.get(j);
    value = stringStringMap.get(“words”).trim();
    Pattern pResource = Pattern.compile("[0-9]{3,}");
    Matcher matcherResource = pResource.matcher(value);
    if (matcherResource.find() && (value.contains("(") || value.contains(")"))) {
    value = value.replaceAll("\(", “”).replaceAll("\)", “”);
    Pattern pResourceNo = Pattern.compile("[0-9]{3,}");
    Matcher mResourceNo = pResourceNo.matcher(value);
    while (mResourceNo.find()) {
    String goodsSourceno = mResourceNo.group();
    customsDeclaration.setGoodsSourceno(goodsSourceno);
    value = value.length() <= (value.indexOf(goodsSourceno) + goodsSourceno.length()) ? value : value.substring(value.indexOf(goodsSourceno) + goodsSourceno.length());
    customsDeclaration.setGoodsSource(value.replace(“照章征税”, “”).replace(“全免”, “”));
    }
    }
    }
    return i;
    }

    //读取毛重信息
    private static int getTotleWeightValue(CustomsDeclaration customsDeclaration, List<Map<String, String>> dataList, int i) {
    Map<String, String> stringStringMap;
    String value;
    for (int j = i + 1; j < dataList.size() - 3; j++) {
    stringStringMap = dataList.get(j);
    value = stringStringMap.get(“words”);
    if (value.contains(“单证及编号”)){
    break;
    }
    if (value.contains(“集装箱标箱数及号码”) || value.contains(“商品名称及规格”)){
    break;
    }
    i = j;
    if (value.contains(“杂费”)){
    stringStringMap = dataList.get(j + 3);
    value = stringStringMap.get(“words”).trim().replaceAll(“±”, “4”);
    Double weight = null;
    try {
    weight = Double.valueOf(value);
    customsDeclaration.setTotalWeight(BigDecimal.valueOf(weight));
    } catch (NumberFormatException e) {
    // logger.info("=weight format failed={}", value);
    }
    continue;
    }
    Pattern p = Pattern.compile("[A-Za-z]{1,}");
    Matcher matcher = p.matcher(value);
    if (matcher.matches()) {
    stringStringMap = dataList.get(j - 2);
    value = stringStringMap.get(“words”).trim().replaceAll(“±”, “4”);
    Double weight = null;
    try {
    weight = Double.valueOf(value);
    customsDeclaration.setTotalWeight(BigDecimal.valueOf(weight));
    } catch (NumberFormatException e) {
    // logger.info("=weight format failed={}", value);
    }
    break;
    }
    }
    return i;
    }

    //读取生产销售单位信息
    private static void getProductComponyNoValue(CustomsDeclaration customsDeclaration, Map<String, String> stringStringMap) {
    String value;
    value = stringStringMap.get(“words”);
    Pattern p = Pattern.compile("[a-zA-Z0-9]");
    Matcher matcher = p.matcher(value);
    StringBuffer sb = new StringBuffer();
    while (matcher.find()) {
    sb.append(matcher.group());
    }
    value = sb.toString();
    customsDeclaration.setProductComponyno(value);
    }

    //读取收货人信息
    private static void getReceiveShipperNoValue(CustomsDeclaration customsDeclaration, String value) {
    Pattern p = Pattern.compile("[a-zA-Z0-9]");
    Matcher matcher = p.matcher(value);
    StringBuffer sb = new StringBuffer();
    while (matcher.find()) {
    sb.append(matcher.group());
    }
    value = sb.toString();
    customsDeclaration.setReceiveShipperNo(value);
    }

    //读取发货人信息
    private static void setShipperNoValue(CustomsDeclaration customsDeclaration, String value) {
    Pattern p = Pattern.compile("[a-zA-Z0-9]");
    Matcher matcher = p.matcher(value);
    StringBuffer sb = new StringBuffer();
    while (matcher.find()) {
    sb.append(matcher.group());
    }
    value = sb.toString();
    customsDeclaration.setShipperNo(value);
    }

    public static void main(String[] args) {
    JFileChooser fileChooser = new JFileChooser("\");
    fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
    int returnVal = fileChooser.showOpenDialog(fileChooser);
    if(returnVal == JFileChooser.APPROVE_OPTION) {
    File file = fileChooser.getSelectedFile();
    List list = Lists.newArrayList();
    List fileList = Lists.newArrayList();
    if (file != null){
    List filePathList = Lists.newArrayList();
    getFileList(file.getAbsolutePath(), fileList, “”);
    }
    for(int i = 0; i < fileList.size(); i++){
    CustomsDeclaration customsDeclaration = new OcrTestMetherd().new CustomsDeclaration();
    customsDeclaration.setFilepath(new File(fileList.get(i)).getName());
    Set goodsInfo = Sets.newHashSet();
    JSONObject res = getImageValueData(fileList.get(i));
    dealImageJSONObjectData(res, customsDeclaration, goodsInfo);
    list.add(customsDeclaration);
    }
    String[][] playerInfo = new String[6][6];
    int i = 0;
    for (CustomsDeclaration customsDeclaration : list) {
    playerInfo[i][0] = customsDeclaration.getShipperCnname();
    playerInfo[i][1] = customsDeclaration.getShipperNo();
    playerInfo[i][2] = customsDeclaration.getGoodsCnname();
    playerInfo[i][3] = customsDeclaration.getGoodsNo();
    playerInfo[i][4] = customsDeclaration.getDeclareUnit();
    playerInfo[i][5] = customsDeclaration.getFilepath();
    i++;
    }
    OcrTestMetherd com = new OcrTestMetherd();
    JFrame f = new JFrame();

         // 创建表格中的横标题
         String[] Names = {"发货人", "发货人no", "商品名", "商品no", "申报单位", "图片名"};
         // 以Names和playerInfo为参数,创建一个表格
         JTable table = new JTable(playerInfo, Names);
         // 设置此表视图的首选大小
         table.setPreferredScrollableViewportSize(new Dimension(700, 100));
         // 将表格加入到滚动条组件中
         JScrollPane scrollPane = new JScrollPane(table);
         f.getContentPane().add(scrollPane, BorderLayout.CENTER);
         // 再将滚动条组件添加到中间容器中
         f.setTitle("表格测试窗口");
         f.pack();
         f.setVisible(true);
         f.addWindowListener(new WindowAdapter() {
             @Override
             public void windowClosing(WindowEvent e) {
                 System.exit(0);
             }
         });
    
     }
    

    }

    public static void getFileList(String path, List fileList, String pdfDirPath){
    try {
    if (new File(path).isDirectory()){
    File[] fileArray = new File(path).listFiles();
    for (File file : fileArray) {
    if (file.isDirectory()){
    getFileList(file.getAbsolutePath(), fileList, pdfDirPath);
    }else{
    fileList.add(file.getAbsolutePath());
    }
    }
    }else if(new File(path).isFile()){
    // if (path.endsWith(".pdf") || path.endsWith(".PDF")){
    // List filePathListNew = PdfBoxTask.extractImagesAndReturn(new File(path), pdfDirPath);
    // fileList.addAll(filePathListNew);
    // }
    fileList.add(path);
    }
    } catch (Exception e) {
    // logger.error("=get ocrFileList failed=", e);
    }
    }

    class CustomsDeclaration {
    /**
    * 图片信息ID
    /
    private Long customsDeclarationId;
    /
    *
    * 订单id
    /
    private Long orderId;
    /
    *
    * 报关单类型
    /
    private String ocrType;
    /
    *
    * 箱号
    /
    private String containerNo;
    /
    *
    * 图片文本内容
    /
    private String textContent;
    /
    *
    * 图片路径
    /
    private String filepath;
    /
    *
    * 境内发货人
    /
    private String shipperCnname;
    /
    *
    * 境内发货人编号
    /
    private String shipperNo;
    /
    *
    * 收货人
    /
    private String receiveShipperCnname;
    /
    *
    * 收货人编号
    /
    private String receiveShipperNo;
    /
    *
    * 申报日期
    /
    private Date declareDate;
    /
    *
    * 生产销售单位编号
    /
    private String productComponyno;
    /
    *
    * 生产销售单位
    /
    private String productCompony;
    /
    *
    * 运抵国(地区)
    /
    private String arriveCountry;
    /
    *
    * 毛重(千克)
    /
    private BigDecimal totalWeight;
    /
    *
    * 商品编号
    /
    private String goodsNo;
    /
    *
    * 商品名称
    /
    private String goodsCnname;
    /
    *
    * 全部商品编号
    /
    private String allgoodsNo;
    /
    *
    * 全部商品名称
    /
    private String allgoodsCnname;
    /
    *
    * 境内货源地
    /
    private String goodsSource;
    /
    *
    * 境内货源地编号
    /
    private String goodsSourceno;
    /
    *
    * 申报单位编号
    /
    private String declareUnitno;
    /
    *
    * 申报单位
    /
    private String declareUnit;
    /
    *
    * 集装箱标箱数及号码
    /
    private String countAndNo;
    /
    *
    * 备注
    /
    private String remark;
    /
    *
    * 添加人id
    /
    private Long addUserId;
    /
    *
    * 添加时间
    /
    private Date addTime;
    /
    *
    * 修改人id
    /
    private Long modifyUserId;
    /
    *
    * 最后更新时间
    */
    private Date modifyTime;

     /**
      * 发站
      */
     private String departureStation;
    
     /**
      * 到站
      */
     private String arriveStation;
    
     /**
      * 托运公司名称
      */
     private String shipperCompanyName;
    
     /**
      * 收货公司名称
      */
     private String arriveCompanyName;
    
     /**
      * 承运人确定重量
      */
     private BigDecimal carrierSureWeight;
    
     /**
      * 班次类型
      */
     private String orderType;
    
     private String containerType;
    
     private Long caRequirePlanId;
    
     private String caPlanNo;
    
     public Long getCaRequirePlanId() {
         return caRequirePlanId;
     }
    
     public void setCaRequirePlanId(Long caRequirePlanId) {
         this.caRequirePlanId = caRequirePlanId;
     }
    
     public String getCaPlanNo() {
         return caPlanNo;
     }
    
     public void setCaPlanNo(String caPlanNo) {
         this.caPlanNo = caPlanNo;
     }
    
     public String getContainerType() {
         return containerType;
     }
    
     public void setContainerType(String containerType) {
         this.containerType = containerType;
     }
    
     public String getDepartureStation() {
         return departureStation;
     }
    
     public void setDepartureStation(String departureStation) {
         this.departureStation = departureStation;
     }
    
     public String getArriveStation() {
         return arriveStation;
     }
    
     public void setArriveStation(String arriveStation) {
         this.arriveStation = arriveStation;
     }
    
     public String getShipperCompanyName() {
         return shipperCompanyName;
     }
    
     public void setShipperCompanyName(String shipperCompanyName) {
         this.shipperCompanyName = shipperCompanyName;
     }
    
     public String getArriveCompanyName() {
         return arriveCompanyName;
     }
    
     public void setArriveCompanyName(String arriveCompanyName) {
         this.arriveCompanyName = arriveCompanyName;
     }
    
     public BigDecimal getCarrierSureWeight() {
         return carrierSureWeight;
     }
    
     public void setCarrierSureWeight(BigDecimal carrierSureWeight) {
         this.carrierSureWeight = carrierSureWeight;
     }
    
     public Long getCustomsDeclarationId() {
         return customsDeclarationId;
     }
    
     public void setCustomsDeclarationId(Long customsDeclarationId) {
         this.customsDeclarationId = customsDeclarationId;
     }
    
     public Long getOrderId() {
         return orderId;
     }
    
     public void setOrderId(Long orderId) {
         this.orderId = orderId;
     }
    
     public String getOcrType() {
         return ocrType;
     }
    
     public void setOcrType(String ocrType) {
         this.ocrType = ocrType;
     }
    
     public String getContainerNo() {
         return containerNo;
     }
    
     public void setContainerNo(String containerNo) {
         this.containerNo = containerNo;
     }
    
     public String getTextContent() {
         return textContent;
     }
    
     public void setTextContent(String textContent) {
         this.textContent = textContent;
     }
    
     public String getFilepath() {
         return filepath;
     }
    
     public void setFilepath(String filepath) {
         this.filepath = filepath;
     }
    
     public String getShipperCnname() {
         return shipperCnname;
     }
    
     public void setShipperCnname(String shipperCnname) {
         this.shipperCnname = shipperCnname;
     }
    
     public String getShipperNo() {
         return shipperNo;
     }
    
     public void setShipperNo(String shipperNo) {
         this.shipperNo = shipperNo;
     }
    
     public Date getDeclareDate() {
         return declareDate;
     }
    
     public void setDeclareDate(Date declareDate) {
         this.declareDate = declareDate;
     }
    
     public String getProductComponyno() {
         return productComponyno;
     }
    
     public void setProductComponyno(String productComponyno) {
         this.productComponyno = productComponyno;
     }
    
     public String getProductCompony() {
         return productCompony;
     }
    
     public void setProductCompony(String productCompony) {
         this.productCompony = productCompony;
     }
    
     public String getArriveCountry() {
         return arriveCountry;
     }
    
     public void setArriveCountry(String arriveCountry) {
         this.arriveCountry = arriveCountry;
     }
    
     public BigDecimal getTotalWeight() {
         return totalWeight;
     }
    
     public void setTotalWeight(BigDecimal totalWeight) {
         this.totalWeight = totalWeight;
     }
    
     public String getGoodsNo() {
         return goodsNo;
     }
    
     public void setGoodsNo(String goodsNo) {
         this.goodsNo = goodsNo;
     }
    
     public String getGoodsCnname() {
         return goodsCnname;
     }
    
     public void setGoodsCnname(String goodsCnname) {
         this.goodsCnname = goodsCnname;
     }
    
     public String getAllgoodsNo() {
         return allgoodsNo;
     }
    
     public void setAllgoodsNo(String allgoodsNo) {
         this.allgoodsNo = allgoodsNo;
     }
    
     public String getAllgoodsCnname() {
         return allgoodsCnname;
     }
    
     public void setAllgoodsCnname(String allgoodsCnname) {
         this.allgoodsCnname = allgoodsCnname;
     }
    
     public String getGoodsSource() {
         return goodsSource;
     }
    
     public void setGoodsSource(String goodsSource) {
         this.goodsSource = goodsSource;
     }
    
     public String getGoodsSourceno() {
         return goodsSourceno;
     }
    
     public void setGoodsSourceno(String goodsSourceno) {
         this.goodsSourceno = goodsSourceno;
     }
    
     public String getDeclareUnitno() {
         return declareUnitno;
     }
    
     public void setDeclareUnitno(String declareUnitno) {
         this.declareUnitno = declareUnitno;
     }
    
     public String getDeclareUnit() {
         return declareUnit;
     }
    
     public void setDeclareUnit(String declareUnit) {
         this.declareUnit = declareUnit;
     }
    
     public String getCountAndNo() {
         return countAndNo;
     }
    
     public void setCountAndNo(String countAndNo) {
         this.countAndNo = countAndNo;
     }
    
     public String getRemark() {
         return remark;
     }
    
     public void setRemark(String remark) {
         this.remark = remark;
     }
    
     public Long getAddUserId() {
         return addUserId;
     }
    
     public void setAddUserId(Long addUserId) {
         this.addUserId = addUserId;
     }
    
     public Date getAddTime() {
         return addTime;
     }
    
     public void setAddTime(Date addTime) {
         this.addTime = addTime;
     }
    
     public Long getModifyUserId() {
         return modifyUserId;
     }
    
     public void setModifyUserId(Long modifyUserId) {
         this.modifyUserId = modifyUserId;
     }
    
     public Date getModifyTime() {
         return modifyTime;
     }
    
     public void setModifyTime(Date modifyTime) {
         this.modifyTime = modifyTime;
     }
     public String getReceiveShipperCnname() {
         return receiveShipperCnname;
     }
    
     public void setReceiveShipperCnname(String receiveShipperCnname) {
         this.receiveShipperCnname = receiveShipperCnname;
     }
    
     public String getReceiveShipperNo() {
         return receiveShipperNo;
     }
    
     public void setReceiveShipperNo(String receiveShipperNo) {
         this.receiveShipperNo = receiveShipperNo;
     }
    
     public String getOrderType() {
         return orderType;
     }
    
     public void setOrderType(String orderType) {
         this.orderType = orderType;
     }
    
     @Override
     public String toString() {
         return "CustomsDeclaration{" +
                 "customsDeclarationId=" + customsDeclarationId +
                 ", orderId=" + orderId +
                 ", ocrType='" + ocrType +
                 ", containerNo='" + containerNo +
                 ", textContent='" + textContent +
                 ", filepath='" + filepath +
                 ", shipperCnname='" + shipperCnname +
                 ", shipperNo='" + shipperNo +
                 ", receiveShipperCnname='" + receiveShipperCnname +
                 ", receiveShipperNo='" + receiveShipperNo +
                 ", declareDate=" + declareDate +
                 ", productComponyno='" + productComponyno +
                 ", productCompony='" + productCompony +
                 ", arriveCountry='" + arriveCountry +
                 ", totalWeight=" + totalWeight +
                 ", goodsNo='" + goodsNo +
                 ", goodsCnname='" + goodsCnname +
                 ", allgoodsNo='" + allgoodsNo +
                 ", allgoodsCnname='" + allgoodsCnname +
                 ", goodsSource='" + goodsSource +
                 ", goodsSourceno='" + goodsSourceno +
                 ", declareUnitno='" + declareUnitno +
                 ", declareUnit='" + declareUnit +
                 ", countAndNo='" + countAndNo +
                 ", remark='" + remark +
                 ", addUserId=" + addUserId +
                 ", addTime=" + addTime +
                 ", modifyUserId=" + modifyUserId +
                 ", modifyTime=" + modifyTime +
                 ", departureStation='" + departureStation +
                 ", arriveStation='" + arriveStation +
                 ", shipperCompanyName='" + shipperCompanyName +
                 ", arriveCompanyName='" + arriveCompanyName +
                 ", carrierSureWeight=" + carrierSureWeight +
                 ", orderType='" + orderType +
                 '}';
     }
    

    }

    class Goodsinfo {

     public Goodsinfo(String goodsNo, String goodsCnname, String goodsEnname) {
         this.goodsNo = goodsNo;
         this.goodsCnname = goodsCnname;
         this.goodsEnname = goodsEnname;
     }
     public Goodsinfo() {
    
     }
    
     /**
      * 商品id
    
      */
     private Long goodinfoId;
     /**
      * 商品编号
      */
     private String goodsNo;
     /**
      * 商品中文名
      */
     private String goodsCnname;
     /**
      * 商品英文名
      */
     private String goodsEnname;
     /**
      * 备注
      */
     private String remark;
     /**
      * 添加人id
      */
     private Long addUserId;
     /**
      * 添加时间
      */
     private Date addTime;
     /**
      * 修改人id
      */
     private Long modifyUserId;
     /**
      * 最后更新时间
      */
     private Date modifyTime;
    
    
     public Long getGoodinfoId() {
         return goodinfoId;
     }
    
     public void setGoodinfoId(Long goodinfoId) {
         this.goodinfoId = goodinfoId;
     }
    
     public String getGoodsNo() {
         return goodsNo;
     }
    
     public void setGoodsNo(String goodsNo) {
         this.goodsNo = goodsNo;
     }
    
     public String getGoodsCnname() {
         return goodsCnname;
     }
    
     public void setGoodsCnname(String goodsCnname) {
         this.goodsCnname = goodsCnname;
     }
    
     public String getGoodsEnname() {
         return goodsEnname;
     }
    
     public void setGoodsEnname(String goodsEnname) {
         this.goodsEnname = goodsEnname;
     }
    
     public String getRemark() {
         return remark;
     }
    
     public void setRemark(String remark) {
         this.remark = remark;
     }
    
     public Long getAddUserId() {
         return addUserId;
     }
    
     public void setAddUserId(Long addUserId) {
         this.addUserId = addUserId;
     }
    
     public Date getAddTime() {
         return addTime;
     }
    
     public void setAddTime(Date addTime) {
         this.addTime = addTime;
     }
    
     public Long getModifyUserId() {
         return modifyUserId;
     }
    
     public void setModifyUserId(Long modifyUserId) {
         this.modifyUserId = modifyUserId;
     }
    
     public Date getModifyTime() {
         return modifyTime;
     }
    
     public void setModifyTime(Date modifyTime) {
         this.modifyTime = modifyTime;
     }
    
    
     @Override
     public String toString() {
         return "Goodsinfo{" +
                 "goodinfoId=" + goodinfoId +
                 ", goodsNo=" + goodsNo +
                 ", goodsCnname=" + goodsCnname +
                 ", goodsEnname=" + goodsEnname +
                 ", remark=" + remark +
                 ", addUserId=" + addUserId +
                 ", addTime=" + addTime +
                 ", modifyUserId=" + modifyUserId +
                 ", modifyTime=" + modifyTime +
                 "}";
     }
    
     @Override
     public boolean equals(Object o) {
         if (this == o) return true;
         if (o == null || getClass() != o.getClass()) return false;
    
         Goodsinfo goodsinfo = (Goodsinfo) o;
    
         return goodsNo.equals(goodsinfo.goodsNo) && goodsCnname.equals(goodsinfo.goodsCnname);
     }
    
     @Override
     public int hashCode() {
         return goodsNo.hashCode() + goodsCnname.hashCode();
     }
    

    }

}


  1. 0-9 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Swing 文件加密工具是一种可以通过图形界面操作的工具,用于对文件进行加密和解密。它基于Java Swing框架开发,能够在跨平台的Java环境中运行。 该工具的基本功能包括选择要加密/解密的文件、选择加密算法和密钥,以及执行加密/解密操作。用户可以通过界面中的文件选择框选择要处理的文件,并通过选择加密算法和输入密钥来控制加密过程。 在选择加密算法方面,Java Swing 文件加密工具可以支持多种常用的加密算法,例如AES、DES、RSA等。用户可以根据实际需求选择合适的算法进行文件加密操作。同时,该工具还提供了对称密钥和非对称密钥两种方式来进行文件加密。 在加密过程中,该工具会读取用户输入的密钥,并使用选择的加密算法对选择的文件进行加密。加密后的文件会保存在指定的目标位置中,用户可以选择保存路径。 在解密过程中,用户需要选择加密后的文件,并输入正确的密钥,工具会使用相应的解密算法将文件解密,并保存在指定的目标文件夹中。 同时,该工具还提供了一些额外的功能,例如密码强度检测、文件校验等,以增加文件加密的安全性和可靠性。 总之,Java Swing 文件加密工具是一款方便实用的工具,可以通过图形界面简单地实现文件加密和解密操作,适用于多种加密算法,并提供了一些额外的功能来增强加密过程的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值