• 无法声明静态类型“System.IO.Directory”的变量


    无法声明静态类型“System.IO.Directory”的变量

    以前看到一个教程,估计是老版的.net下写的,有用到Directory 实例化变量,类似 Directory strDir = null;这在新版的.net中是不被允许的。因为Directory是静态类型的变量了。正如错误信息所提示的:“无法声明静态类型“System.IO.Directory”的变量”,“无法创建静态类“System.IO.Directory”的实例”,一切皆因为System.IO.Directory是静态的类型,不懂什么是静态类型的,去补一下基础。

    你需要做的就是类似下面这样的操作string[] strDrivers = Directory.GetLogicalDrives();

    直接用类名加上属性或方法就可以达到要求了。

    string[] strDrivers = Directory.GetLogicalDrives();

    就是取得驱动盘符列表。

    asp.net列出当前文件夹目录

    上一篇文章说到用asp.net列出当前驱动盘目录,这一篇文章要说的是列出指定文件夹下面的文件夹名与文件名,在这样的基础上,就可以遍历指定文件夹的子目录,文件等。

    本文主要用到GetDirectories方法和GetFiles()方法。都包含在System.IO命名空间中。

    源码如下:

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.IO" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

        protected void Page_Load(object sender, EventArgs e)
        {
            string[] strDrivers = Directory.GetLogicalDrives();
            string strResult = "";

            try
            {
                              
                    strResult += "<h3>文件夹目录:</h3><ul>";
                   
                    string[] strDir1 = Directory.GetDirectories(strDrivers[0]);
                    for (int i = 0; i < strDir1.Length; i++)
                    {
                        strResult += "<li>" + strDir1[i] + "<br/>";
                    }
                    strResult += "</ul>";

                    strResult += "<h3>文件名:</h3><ul>";
                    string[] strFile = Directory.GetFiles(strDrivers[0]);
                    for (int i = 0; i < strFile.Length; i++)
                    {
                        strResult += "<li>" + strFile[i] + "<br/>";
                    }
                    strResult += "</ul>";
                    Label1.Text = strResult;

            }catch(Exception e1)
            {
                Label1.Text ="错误:" + e1.ToString();
            }
             
        }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>asp.net列出C盘文件夹目录与文件</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
       
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
       
        </div>
        </form>
    </body>
    </html>

    说明:此处使用strDrivers[0]来做要取的目录,在没有软驱的情况下,取到的才能够是C盘的子目录与文件,当然,你应该能够修改GetDirectories()处的值。然后达到自己想要的效果。

    有本文的甚而,修改一下,就可以遍历出当前目录与子目录的所有文件与文件夹。

  • 相关阅读:
    数据的增、删、改(jQuery.Ajax)
    tomcat内置jdk(tomcat集成jdk)(windows环境)
    进行数据库进程的杀死
    矩阵与自然基向量
    实对称矩阵
    坐标变换
    设置PySpark的Python版本
    CentOS7中安装Python3.6
    一个矩阵有几个实特征向量
    centos7系统设置固定IP
  • 原文地址:https://www.cnblogs.com/hateyoucode/p/1648377.html
Copyright © 2020-2023  润新知