diff options
| author | zhangshuai <[email protected]> | 2024-09-04 18:11:56 +0800 |
|---|---|---|
| committer | zhangshuai <[email protected]> | 2024-09-04 18:11:56 +0800 |
| commit | b940421c691c84b2b09133dc89e454e68652a33f (patch) | |
| tree | 7cd8f006abebaca627c06464bb084456073dcd21 /src | |
| parent | c861efd75d14ff5cdd694144c0a9144efc48e1ba (diff) | |
fix: list dir 添加 文件 size type 等属性
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/net/geedge/api/util/AdbUtil.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/main/java/net/geedge/api/util/AdbUtil.java b/src/main/java/net/geedge/api/util/AdbUtil.java index deeef9e..9a72fa6 100644 --- a/src/main/java/net/geedge/api/util/AdbUtil.java +++ b/src/main/java/net/geedge/api/util/AdbUtil.java @@ -306,7 +306,7 @@ public class AdbUtil { } String statFilePath = isDir ? Paths.get(path).resolve(name).toString() : path; - String statCommand = "shell stat -c \"'%N %a %X %Y'\" " + statFilePath; + String statCommand = "shell stat -c \"'%N %A %g %u %s %a %X %Y'\" " + statFilePath; futureList.add( CompletableFuture.supplyAsync(() -> { String statResult = CommandExec.exec(AdbCommandBuilder.builder() @@ -318,15 +318,24 @@ public class AdbUtil { List<String> list = Arrays.asList(statResult.split("\\s+")); Collections.reverse(list); - String fullName = list.get(3).replaceAll("'|`", ""); + String fullName = list.get(7).replaceAll("'|`", ""); Map<String, Object> relMap = T.MapUtil.newHashMap(); relMap.put("name", name); relMap.put("value", T.MapUtil.builder() .put("id", Base32Codec.Base32Encoder.ENCODER.encode(fullName.getBytes())) .put("fullName", fullName) + .put("gid", Long.parseLong(list.get(5))) + .put("uid", Long.parseLong(list.get(4))) + .put("size", Long.parseLong(list.get(3))) .put("permissions", Long.parseLong(list.get(2))) .put("cts", Long.parseLong(list.get(1))) .put("uts", Long.parseLong(list.get(0))) + .put("isDir", list.get(6).startsWith("d")) + .put("isBlk", list.get(6).startsWith("b")) + .put("isFifo", list.get(6).startsWith("p")) + .put("isLink", list.get(6).startsWith("l")) + .put("isReg", list.get(6).startsWith("-")) + .put("isSock", list.get(6).startsWith("s")) .build()); return relMap; }, getThreadPool()) |
