Prechádzať zdrojové kódy

读取文件真实路径

zhouger 7 mesiacov pred
rodič
commit
e0d3df17db

+ 20 - 7
src/main/java/sys/sc/formplugin/TestPlugin.java

@@ -25,6 +25,9 @@ import kd.imc.bdm.common.constant.BotpCallBackLogConstant;
 
 
 import java.io.*;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.EventObject;
@@ -35,8 +38,7 @@ import java.util.*;
 public class TestPlugin  extends AbstractListPlugin {
 
     //根据接口配置信息获取组织人员,拼接服务器文件路径url,参数为urlcode接口配置信息编码
-    public String getFileUrl(String urlcode)
-    {
+    public String getFileUrl(String urlcode) throws IOException {
         //组织人员接口配置信息获取
         DynamicObject nckd_jkpzxx= BusinessDataServiceHelper
                 .loadSingle("nckd_jkpzxx", new QFilter[]{new QFilter("number", "=", urlcode)});
@@ -54,9 +56,12 @@ public class TestPlugin  extends AbstractListPlugin {
         //转换日期格式
         SimpleDateFormat sf=new SimpleDateFormat("yyyyMMdd");
         String datestr=sf.format(newDate);
-        //文件路径拼接
-        String url=nckd_url+datestr+"/"+nckd_filename;
-        return url;
+        //文件路径拼接(软连接路径)
+        String url=nckd_url+datestr;
+        //  Path realPath = Files.readSymbolicLink(Paths.get(symlinkPath));
+        //真实路径
+        String realPath = String.valueOf(Files.readSymbolicLink(Paths.get(url)));
+        return (realPath+"/"+nckd_filename);
     }
 
     //从文件读取数据更新到基础资料中
@@ -524,7 +529,11 @@ public class TestPlugin  extends AbstractListPlugin {
         }
         //生成数据
         else if ("scsj".equals(e.getOperateKey())) {//从文件读取数据插入基础资料
-            generateDataFile(getFileUrl("organduserurl"));
+            try {
+                generateDataFile(getFileUrl("organduserurl"));
+            } catch (IOException ex) {
+                throw new RuntimeException(ex);
+            }
         }
         //减值数据
         if ("jzsj".equals(e.getOperateKey()))
@@ -623,7 +632,11 @@ public class TestPlugin  extends AbstractListPlugin {
 
         //获取接口配置表中组织人员的数据,返回服务器中文件路径
         if ("jkpz".equals(e.getOperateKey())) {
-            getFileUrl("organduserurl");
+            try {
+                getFileUrl("organduserurl");
+            } catch (IOException ex) {
+                throw new RuntimeException(ex);
+            }
         }
 
         //读取行名行号,存入对应基础资料中