非凡巅峰 2017-06-12 06:20 采纳率: 66.7%
浏览 2335
已结题

java 读取FTP下的所有文件目录,以tree格式存入库

java 读取FTP下的所有文件目录,并一递归的方式组成tree的数据格式保存到数据库中?求大神告诉一下该怎么写。本人很菜,求帮助?

  • 写回答

1条回答 默认 最新

  • 庄粟 2017-06-12 06:57
    关注
     package fileTranscoding;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.util.ArrayList;
    import java.util.List;
    
    public class TransUtiltest {
    
            private class A{
                private int id;
                private String fileName;
                //文件类型0文件1文件夹
                private String fileType;
                //父文件ID
                private int supperId;
                public int getId() {
                    return id;
                }
                public void setId(int id) {
                    this.id = id;
                }
                public String getFileName() {
                    return fileName;
                }
                public void setFileName(String fileName) {
                    this.fileName = fileName;
                }
                public String getFileType() {
                    return fileType;
                }
                public void setFileType(String fileType) {
                    this.fileType = fileType;
                }
                public int getSupperId() {
                    return supperId;
                }
                public void setSupperId(int supperId) {
                    this.supperId = supperId;
                }
                @Override
                public String toString() {
                    return "A [id=" + id + ", fileName=" + fileName + ", fileType=" + fileType + ", supperId=" + supperId
                            + "]";
                }
    
            }
    
            public static List<A> listA = new ArrayList<A>();
    
          public void Trans(File file,int supperId) throws IOException{
              String fileName = file.getName();
    
              A a = new A();
              a.setSupperId(supperId);
              a.setId(++supperId);
              a.setFileName(fileName);
    
              if(file.isFile()){
    
                  a.setFileType("0");
              }else if(file.isDirectory()){
    
                  a.setFileType("1");
    
                  File[] files = file.listFiles();
                  for(int i=0;i<files.length;i++){
                      Trans(files[i],supperId);
                  }
              }else{
                  throw new RuntimeException("文件不存在");
              }
              listA.add(a);
          }
    
          public static void main(String[] args) throws IOException {
            new TransUtiltest().Trans(new File("C:\\Users\\HUMMER\\Desktop\\七鱼测试文件"), 0);
            System.out.println(TransUtiltest.listA);
        }
    }
    
    
    
    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?