首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

文件夹里的目录文件层次存进数据库,该怎么解决

2012-01-21 
文件夹里的目录文件层次存进数据库项目中遇到个问题,就是报表制作工具做出来的报表只能以xml文件存在物理

文件夹里的目录文件层次存进数据库
项目中遇到个问题,就是报表制作工具做出来的报表只能以xml文件存在物理磁盘,我想把报表目录下的目录名及文件名层次存进数据库,不知道怎么决绝?

比如:
根目录                                       A
子目录                     B                 C             a.xml     (文件)
文件         b.xml     c.xml         d.xml      

数据库里的这样实现:
字段名:                     字段1             字段2                       字段3
                                    A                       B                             b.xml
                                    A                       B                             c.xml
                                    A                       a.xml
                                    A                       C                             c.xml                

最终的实现效果是希望树型展示在html上.


这是我从网上找的读文件名的代码,不知道能否用起来,给点建议


package   duojing;


import       java.io.*;      

public       class       ListFile       {      
                public       static       void       main(String[]       args)       {      
                                ListFile       l       =       new       ListFile();      
                                l.recursivePrint(new       File((String)System.getProperty( "user.dir ")),       0);      
                                return;      
                }      
                   
                public       void       recursivePrint(File       f,       int       indent)       {      
                                StringBuffer       buf       =       new       StringBuffer();      


                                for       (int       i       =       0;       i       <       indent;       i++)       {      
                                                buf.append( "           ");      
                                }      
                                System.out.println(buf+f.getName());      
                                if       (f.isDirectory())       {      
                                                File[]       children       =       f.listFiles();      
                                                for       (int       i       =       0;       i       <       children.length;       i++)       {      
                                                                recursivePrint(children[i],       indent+1);      
                                                }      
                                }      
                }      
}  


结果是这样输出的:

test
          .classpath
          .myeclipse
          .mymetadata
          .mystrutsdata
          .project
          src
                    com
                              yh
                                        struts
                                                  ApplicationResources.properties
                    duojing
                              filelist.java


                              ListFile.java
          WebRoot
                    dbcon
                              access.jsp
                              mssql.jsp
                              mysql.jsp
                              oracle9_oci.jsp
                              oracle9_thin.jsp
                              testmssql.jsp
                    duojing
                              handle.jsp
                              index.jsp
                              input.htm
                    file.jsp
                    META-INF
                              MANIFEST.MF
                    MyJsp.jsp

[解决办法]
文件夹套文件夹最多多少层?


[解决办法]
路过
[解决办法]
现有芳城园(方庄家乐福附近)小区四居中的一居出租,面积大概12平方米。

屋内有单独电视。洗衣机、冰箱、微波炉等家电公用。洗澡、做饭均可。

如有意者,请来电。

租金:800/月 付2押1

联系电话:13810345444 13466336212

中介勿扰
[解决办法]
文件夹也可以是文件啊,其实只要两个字段就可以描述,一个描述文件的名字,另一个描述文件的父节点(没有父节点的为根节点),这样就不必考虑文件层次究竟有多少层了.
PS:其实描述文件层次不适合存进数据库,原因在于,文件层次发生改变之后要及时反映在数据库比较困难(也就是要做比较多的工作)
[解决办法]
数据库中还是每个节点(文件夹)存其父节点即可,如果数据量不大可直接利用递归的到其树结构,不过建议用ajax,当选中其父节点时再生成其子节点
[解决办法]
字段名: 父结点 当前结点
B A
C B
D C
- D

-/D/C/B/A
[解决办法]
写成一个xml文件,存到数据库,然后读出后再进行解析

热点排行