有没有办法打开I / O文件而不访问c:drive?

时间:2019-01-25 12:50:00

标签: c#

我在学校平板电脑上执行C#,其中c:drive被管理员阻止并且没有闪存驱动器,并且我无法打开io文件

using System.IO;
using System;

namespace HandlingExceptions
{
    class Program
    {
        static void Main(string[] args)
        {
            ExceptionTest();
        }
        private static void ExceptionTest()
        {
            StreamReader sr = null;
            try
            {
                sr = File.OpenText(@"c:\data.txt");
                Console.WriteLine(sr.ReadToEnd());
            }
            catch (FileNotFoundException fnfe)
            {
                Console.WriteLine(fnfe.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            } 
        }
    }
}

该代码可以正常工作,但是如果要对具有sr = File.OpenText(@"c:\data.txt");的行进行任何调整

1 个答案:

答案 0 :(得分:3)

您的问题表明您不知道自己在做什么,为什么做。您要做的最好的事情就是拜访您的老师或同学,问他,这段代码的作用。

您正在尝试打开文件并阅读。因此,一个问题是给定文件可能甚至不存在的事实。您无法读取不存在的文件。

第二个问题是权限-在健全的系统(甚至在Windows上)上,用户不能(应该!)不能写入“系统”目录,用户应该拥有自己的文件(文档等)空间。您也有足够的空间-由于您能够保存此源代码,因此您应该能够打开/保存其他任何内容。

因此,理想情况下,尝试将该路径更改为您的主目录或当前目录。

主目录的路径可以通过Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");找到。当您要使用当前目录时,只需使用文件名而不使用File.OpenText("data.txt");之类的路径-这将(当使用默认设置使用Visual Studio时)在创建程序可执行文件的文件夹中打开data.txt文件。 / p>