MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接

    怎么游历群文件的子文件夹

    开发交流
    3
    10
    693
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • W
      wuxianggujun 最后由 wuxianggujun 编辑

      我已经实现了遍历群文件,但是群文件下的子文件夹不知道怎么遍历。我是kt新手。代码你们看看怎么获取子文件夹

      if (event.message.contentToString() == "群文件") {
                 //获取该目录下所有文件和子目录列表.
                 val absoluteFileFolders: Flow<AbsoluteFileFolder> = event.group.files.root.children()
                 absoluteFileFolders.collect {
                     println("为什么给我打印两次啊")
                     if (it.isFile) {
                             println("文件名:${it.name}")
                     }
                 }
      
      
             }
      
      1 条回复 最后回复 回复 引用 0
      • tsudzuki
        tsudzuki 摸鱼 最后由 编辑

        使用游历器拜读q群文件即可

        W 1 条回复 最后回复 回复 引用 0
        • Orisland
          Orisland 摸鱼 最后由 编辑

          虽然但是
          ee2848ec-cf3c-4e37-aaef-1b086fd914d8-image.png

          W 1 条回复 最后回复 回复 引用 0
          • W
            wuxianggujun @tsudzuki 最后由 编辑

            @tsudzuki 拜读是什么

            tsudzuki 1 条回复 最后回复 回复 引用 0
            • W
              wuxianggujun @Orisland 最后由 编辑

              @Orisland 额

              1 条回复 最后回复 回复 引用 0
              • W
                wuxianggujun 最后由 编辑

                我分别遍历文件夹和文件添加到列表,已经实现了

                1 条回复 最后回复 回复 引用 0
                • W
                  wuxianggujun 最后由 wuxianggujun 编辑

                  我是萌新,借鉴了大佬的Java项目,给了我思路。
                  我一直纠结于
                  /**
                  * 获取该目录下所有文件和子目录列表.
                  */
                  public suspend fun children(): Flow<AbsoluteFileFolder>
                  获取文件夹和文件。然后判断是不是文件夹,但是我不知道怎么进入文件夹里遍历

                  suspend fun getGroupAllFiles(uBot: Bot, gId: Long): MutableList<String>? {
                         if (mList.isNotEmpty()) mList.clear()
                         try {
                             val bot: Bot = uBot
                             val group: Group = bot.getGroup(gId) ?: return throw GroupObjectNull("机器人不在此群聊!")
                             // 该函数会遍历上级目录的所有文件并匹配当前文件, 因此可能会非常慢, 请不要频繁使用
                             group.files.root.refreshed()
                             val remoteFiles: RemoteFiles = group.files
                             remoteFiles.root.files().collect {
                                 mList.add(it.name)
                             }
                             remoteFiles.root.folders().collect {
                                 it.files().collect { asf: AbsoluteFile ->
                                     mList.add(asf.name)
                                 }
                             }
                             return mList
                         } catch (e: Exception) {
                             println(e.cause)
                             //logger.error { e.cause }
                         }
                         return null
                     }
                  
                  
                  
                  1 条回复 最后回复 回复 引用 0
                  • tsudzuki
                    tsudzuki 摸鱼 @wuxianggujun 最后由 编辑

                    @wuxianggujun 嘻嘻

                    W 1 条回复 最后回复 回复 引用 0
                    • W
                      wuxianggujun @tsudzuki 最后由 编辑

                      @tsudzuki 怎么读取yaml文件

                      W 1 条回复 最后回复 回复 引用 0
                      • W
                        wuxianggujun @wuxianggujun 最后由 编辑

                        @wuxianggujun 我已经回了

                        1 条回复 最后回复 回复 引用 0
                        • 1 / 1
                        • First post
                          Last post
                        Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact