为了账号安全,请及时绑定邮箱和手机立即绑定

我要在服务器的此目录下创建文件夹或文件夹,这个算法逻辑我有点混乱

我要在服务器的此目录下创建文件夹或文件夹,这个算法逻辑我有点混乱

白板的微信 2023-04-08 18:14:03
上面这个是一个文件路径,我现在在弄一个服务器端的个人文件夹(基于Web),想把这个文件路径整出来。说明:就是子文件夹有一个名为fatherId的保存父文件夹主键的字段,我想这个逻辑大家应该都懂。现在我的问题是:如果已知最后一级就是gen这个数据的id,我怎么利用java递归或是循环(当然要多次检索数据库)得到String path = ”根目录\Android\outlet\gen“ 这个字符串,因为我要在服务器的此目录下创建文件夹或文件夹,这个算法逻辑我有点混乱。求Java牛人帮忙,万谢不辞!!!
查看完整描述

1 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

我不认为多次查数据库是个好习惯,不过除了oracle,别的数据库好像都没递归查询。无所谓,用程序就用程序吧

class DBHelper(object):

    def __init__(self, dbName):
        self.dbName = dbName
    def conn(self):
        import sqlite3
        self.conn = sqlite3.connect(self.dbName)
    def close(self):
        self.conn.close()

    def getDir(self, subId, dirList):
        c = self.conn.cursor()
        dir = c.execute('select file_name,father_id from test where id=?', subId)
        row = c.fetchone()
        name = row[0]
        pId = str(row[1])
        dirList.append(name)
        c.close()
        if pId != '0':
            self.getDir(pId, dirList)

if  __name__ == '__main__':
    db = DBHelper('temp.sqlite')
    db.conn()
    myDir = []
    db.getDir('3', myDir)
    myDir.reverse()
    myDir = '/'.join(myDir)
    print myDir
    db.close()

数据库和测试结果:

//img1.sycdn.imooc.com//6434de56000137c004700524.jpg

没有jdbc驱动,懒得开eclipse,相信改写成java的应该很简单吧 ;) 希望对你有所帮助

查看完整回答
反对 回复 2023-04-11
  • 1 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信