我在学校平板电脑上执行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");
的行进行任何调整
答案 0 :(得分:3)
您的问题表明您不知道自己在做什么,为什么做。您要做的最好的事情就是拜访您的老师或同学,问他,这段代码的作用。
您正在尝试打开文件并阅读。因此,一个问题是给定文件可能甚至不存在的事实。您无法读取不存在的文件。
第二个问题是权限-在健全的系统(甚至在Windows上)上,用户不能(应该!)不能写入“系统”目录,用户应该拥有自己的文件(文档等)空间。您也有足够的空间-由于您能够保存此源代码,因此您应该能够打开/保存其他任何内容。
因此,理想情况下,尝试将该路径更改为您的主目录或当前目录。
主目录的路径可以通过Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");
找到。当您要使用当前目录时,只需使用文件名而不使用File.OpenText("data.txt");
之类的路径-这将(当使用默认设置使用Visual Studio时)在创建程序可执行文件的文件夹中打开data.txt
文件。 / p>