.net 不知道为什么我的读者赢了';我不读我的文本文件
我有以下代码来读取应用程序根目录中的文件。出于某种原因,无论运行多少次,我的文件仍然没有被读取。你知道我在这里会做错什么吗。提前谢谢.net 不知道为什么我的读者赢了';我不读我的文本文件,.net,stream,.net,Stream,我有以下代码来读取应用程序根目录中的文件。出于某种原因,无论运行多少次,我的文件仍然没有被读取。你知道我在这里会做错什么吗。提前谢谢 byte[] mybytes = null; if (File.Exists(filename)) { using (StreamReader sr = new StreamReader(new FileStream(filename, FileMode.Open, FileAccess.Re
byte[] mybytes = null;
if (File.Exists(filename))
{
using (StreamReader sr = new StreamReader(new FileStream(filename,
FileMode.Open, FileAccess.Read, FileShare.Read)))
{
String input;
StringBuilder tempstore = new StringBuilder();
while ((input = sr.ReadLine()) != null)
{
tempstore.Append(input);
}
mybytes = Encoding.ASCII.GetBytes(tempstore.ToString());
sr.Close();
}
}
您是否尝试过File.ReadAllText(文件名)
更简单。ReadLine只应与文本文件一起使用。如果文件是二进制文件,则开头可能有^Z字符。。让库认为它达到了EOF。如果我逐字复制它,那么您的代码对我来说是有效的,添加我自己的
文件名
变量并运行它。filename
的值是否可能不是您计算机上的有效文件路径?您是否尝试过file.ReadAllBytes
byte[] mybytes = File.ReadAllBytes(filename);
您确定
文件名
确实存在吗?根据您列出的代码,这是最有可能出现问题的地方。可能是驱动器的根目录。您尝试过单步执行代码吗?它是否正在通过您的if(File.Exists(filename))我最初使用的是您的if(File.ReadAllBytes(filename)),但这不起作用。所以我把它切换到我现在拥有的东西,但仍然什么都没有。但是他正在检查File.Exists(filename)
它通过了if(File.Exists(filename)){…}检查,表明文件确实存在,它在第行短停。。。while((input=sr.ReadLine())!=null){其中它读取null并立即中断我的循环。这一点很好,因为他最终将其放入byte[]
这可能是casefile名称实际上指的是字符串filename=@“outfile.txt”;没关系。它可能是一个扩展名为.txt的二进制文件。请尝试用记事本打开它