c# 读取路径下文件夹名-文件夹名-文件名

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web

namespace PI_disease.PIAnalysis
{
/// <summary>
/// readfilename 的摘要说明
/// </summary>
     public class readfilename : IHttpHandler
     {

public void ProcessRequest(HttpContext context)
           {
                //string FileName = "";
                //string fileParent = "";
                string strAll = "[";
               //-----------------------------------------------------
               //读取父节点名
               string fileParent = getFileName();

string[] parentfile;
               string strparent = "";
               if (fileParent.Contains(‘,‘)) //父节点有多少个
               parentfile = fileParent.Split(‘,‘);
               else//就一个
               {
                        strparent = fileParent;
                        parentfile = new string[1];
                        parentfile[0] = strparent;
               }

for (int i = 0; i < parentfile.Length; i++)
               {
                      string strparentfile = "{\"text\":\"" + parentfile[i] + "\",\"state\": \"closed\",\"children\":[";
                      strAll += strparentfile;
                     string strFile = "";
                     strFile = strFile + parentfile[i];
                     //-----------------------------------------------------
                    //读取第二级节点名
                   string secondfile = getFileName2(strFile);

string[] filename2;
                   string strsecond = "";
                   if (secondfile.Contains(‘,‘)) //文件名有多个
                               filename2 = secondfile.Split(‘,‘);
                  else//就一个
                  {
                            strsecond = secondfile;
                            filename2 = new string[1];
                           filename2[0] = strsecond;
                  }
                 for (int j = 0; j < filename2.Length; j++)
                  {
                           string strsecondfile = "{\"text\":\"" + filename2[j] + "\",\"state\": \"closed\",\"children\":[";
                           strAll += strsecondfile;
                           string strFile2 = "";
                           strFile2 = strFile2 + filename2[j];
                           //-----------------------------------------------------
                           //读取第三级节点名
                           string thirdfile = getFileName3(strFile, strFile2);

string[] filename3;
                           string strthird = "";
                           if (thirdfile.Contains(‘,‘)) //文件名有多个
                                   filename3 = thirdfile.Split(‘,‘);
                           else//就一个
                           {
                                    strthird = thirdfile;
                                    filename3 = new string[1];
                                    filename3[0] = strthird;
                           }

for (int k = 0; k < filename3.Length; k++)
                           {
                           string strthirdfile = "{\"text\":\"" + filename3[k] + "\"}";

if (k != filename3.Length - 1)
                                   strAll += strthirdfile + ",";
                           else
                                   strAll += strthirdfile;
                           }
                           strAll += "]}";
                           if (j != filename2.Length - 1)
                                   strAll += ",";
                    }
                    strAll += "]}";
                    if (i != parentfile.Length - 1)
                          strAll += ",";
          }
         strAll += "]";
         context.Response.Write(strAll);
      }

private string getFileName()
      {
           string sfileName = "";
           String path = @"X:\XX";
           string[] aa = Directory.GetDirectories(path);
           string[] FileName = new string[Directory.GetDirectories(path).Count()];
           for (int i = 0; i < Directory.GetDirectories(path).Count(); i++)
           {
                       FileName[i] = aa[i].Substring(path.Count() + 1);
           }
           for (int i = 0; i < FileName.Length; i++)
           {
                 if (i != FileName.Length - 1)
                          sfileName = sfileName + FileName[i].ToString() + ",";
                 else
                          sfileName = sfileName + FileName[i].ToString();
           }
           return sfileName;
      }

private string getFileName2(string strfile)
      {
            string sfileName = "";
            String path = @"X:\XX\" + strfile + "";    //@"X:\XX\"  路径
            string[] aa = Directory.GetDirectories(path);
            string[] FileName = new string[Directory.GetDirectories(path).Count()];
            for (int i = 0; i < Directory.GetDirectories(path).Count(); i++)
            {
                  FileName[i] = aa[i].Substring(path.Count() + 1);
            }
           for (int i = 0; i < FileName.Length; i++)
           {
                     if (i != FileName.Length - 1)
                                sfileName = sfileName + FileName[i].ToString() + ",";
                     else
                                sfileName = sfileName + FileName[i].ToString();
            }
            return sfileName;
     }

private string getFileName3(string strfile, string strfile2)
     {
             string sfileName = "";

DirectoryInfo folder = new DirectoryInfo(@"X:\XX\" + strfile + "\\" + strfile2 + "");//文件夹名为Skins,放在软件根目录下
              //循环文件夹下指定文件的信息
             string[] FileName = new string[folder.GetFiles("*.jpg").Count()];
             for (int i = 0; i < folder.GetFiles("*.jpg").Count(); i++)
             {
                    //这里就是 给数组中指定索引来赋值了
                       FileName[i] = folder.GetFiles("*.jpg")[i].Name;
             }
             for (int i = 0; i < FileName.Length; i++)
             {
                       if (i != FileName.Length - 1)
                               sfileName = sfileName + FileName[i].ToString() + ",";
                       else
                                sfileName = sfileName + FileName[i].ToString();
             }
            return sfileName;
     }
     public bool IsReusable
     {
                    get
                    {
                                 return false;
                    }
      }
   }
}

原文地址:https://www.cnblogs.com/jxy-94175/p/9345767.html

时间: 2024-11-17 09:58:05

c# 读取路径下文件夹名-文件夹名-文件名的相关文章

在HDFS上删除某个路径下特定类型的文件,比如class类型文件,比如txt类型文件

1.先获取连接: public class Utils { public static FileSystem HDFS() throws Exception{ Configuration conf = new Configuration(); conf.set("fs.defaultFS","hdfs://potter2:9000"); System.setProperty("HADOOP_USER_NAME", "potter&quo

SSIS【Foreach 循环容器_Foreach 文件枚举器】(导入路径下的所有txt文件的内容) (转)

原文:http://blog.csdn.net/kk185800961/article/details/12276449 SQLServer 2008 R2 SSIS_Foreach 循环容器_Foreach 文件枚举器(导入路径下的所有txt文件的内容) 1. 拖动一个 [Foreach 循环容器]到[控制流]中,再拖动一个[数据流任务]到[Foreach 循环容器]中.如图: 2.编辑[Foreach 循环容器],在选项[集合]中选择[Foreach 文件枚举器],配置要遍历的文件夹及文件类

访问指定路径下的目录以及文件

#include "stdafx.h" //vs2010下运行通过 #undef UNICODE #include <stdio.h> #include <stdlib.h> #include <Windows.h> #include <iostream> using namespace std; void browseFile(char* path) { char pattern[FILENAME_MAX + 1]; sprintf(p

C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名

1.实现把指定文件夹下的所有文件复制到指定路径下 1 public static void copyFiles(string path) { 2 DirectoryInfo dir = new DirectoryInfo(path); 3 if (!dir.Exists) 4 return; //获得指定文件夹内的所有的子目录信息 5 DirectoryInfo[] dirs = dir.GetDirectories(); //获得指定文件夹内所有的文件信息 6 FileInfo[] files

使用ResourceBundle 类读取 src 下的 xxx.properties 文件

之前要读取 src 下的 .properties 文件都是使用的类加载器,加载类路径下的资源文件当做一个流来处理,load 到一个 Properties 对象上. jdbc.properties 代码如下: #驱动 driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test user=root password=root java代码如下: public class Test { public static void mai

【Lua】关于遍历制定路径下所有目录及文件

关于Lua中如何遍历指定文件路径下的所有文件,需要用到Lua的lfs库. 首先创建一个temp.lua文件,用编辑器打开: 要使用lfs库,首先需要把lfs库加载进来 require("lfs") 随后创建一个函数,用来遍历指定路径下的所有文件,这里我们需要用到lfs库中的lfs.dir()方法和lfs.attributes(f)方法. lfs.dir(path) 可以返回一个包含path内所有文件的字符串,如果该路径不是一个目录,则返回一个错误.可以用 for file in lfs

读取样本下的基本行为文件并将其处理成LibSVM需要的格式

SVM是一种很强大的的机器学习分类算法,在很多诸如文本分类,图像分类,生物序列分析和生物数据挖掘,手写字符识别等领域有很多的应用.具体理论性的东西参考博文http://www.dataguru.cn/forum.php?mod=viewthread&tid=371987 看完还是似懂非懂. 最近在做SVM分类,处理对象是恶意程序动态分析生成的基本行为文件,它是1*811的0.1串,libsvm需要的格式是label index:value,刚开始想采用python实现,由于其文件操作没有很强大,

获取指定路径下特定后缀的文件

# 获取指定路径下所有指定后缀的文件# dir 指定路径# ext 指定后缀,链表&不需要带点 或者不指定.例子:['xml', 'java']import osdef GetFileFromThisRootDir(dir,ext = None): allfiles = [] needExtFilter = (ext != None) for root,dirs,files in os.walk(dir): for filespath in files: filepath = os.path.j

Python 之 glob读取路径下所有文件夹或文件方法

在python中,glob模块是用来查找匹配的文件的 在查找的条件中,需要用到Unix shell中的匹配规则: *    :   匹配所所有 ?    :   匹配一个字符 *.*  :   匹配如:[hello.txt,cat.xls,xxx234s.doc] ?.*  :   匹配如:[1.txt,h.py] ?.gif:   匹配如:[x.gif,2.gif] 如果没有匹配的,glob.glob(path)将返回一个空的list:[] import glob def get_all():