文件夹里的目录文件层次存进数据库
项目中遇到个问题,就是报表制作工具做出来的报表只能以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文件,存到数据库,然后读出后再进行解析