我正在使用以下一段代碼來讀取文本文件的最後一行:此代碼有什麼問題。我已經寫下了調試器生成的完整錯誤。我正在做什麼錯誤?讀取文本文件的最後一行C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
//using System.Linq;
namespace fileHandling
{
class Program
{
public void GetDataFromFile()
{
// opening stream !!!
FileStream fo = new FileStream("hello.txt", FileMode.Open);
StreamReader sr = new StreamReader(fo);
if (!File.Exists("hello.txt"))
{
Console.WriteLine("{0} does not exist.", "hello.txt");
}
else
{
//string record;
//record = sr.ReadLine();
string lastLine = File.ReadLines("hello.txt").Last();
Console.WriteLine(lastLine);
}
sr.Close();
fo.Close();
}
static void Main(string[] args)
{
Program p = new Program();
p.GetDataFromFile();
}
}
}
錯誤:
System.IO.IOException was unhandled
HResult=-2147024864
Message=The process cannot access the file 'C:\Users\nabeel\Documents\Visual Studio 2013\Projects\fileHandling\fileHandling\bin\Debug\hello.txt' because it is being used by another process.
Source=mscorlib
StackTrace:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost)
at System.IO.StreamReader..ctor(String path, Encoding encoding)
at System.IO.File.ReadLines(String path)
at fileHandling.Program.GetDataFromFile() in c:\Users\nabeel\Documents\Visual Studio 2013\Projects\fileHandling\fileHandling\Program.cs:line 32
at fileHandling.Program.Main(String[] args) in c:\Users\nabeel\Documents\Visual Studio 2013\Projects\fileHandling\fileHandling\Program.cs:line 60
InnerException:
我的第一個猜測更好的將是文件被保存在其他程序中打開(文本編輯器等) – nozzleman 2014-11-04 16:15:50
並嘗試刪除該文件流和數據流讀寫器,這也可能導致錯誤。 – nozzleman 2014-11-04 16:17:32