//1,读取一般文件的代码 [csharp] view plain copy public static string ReaderFile(string path) { string fileData = string.Empty; try { ///读取文件的内容 StreamReader reader = new StreamReader(path, Encoding.Default); fileData = reader.ReadToEnd(); reader.Close(); } catch (Exception ex) { // throw new Exception(ex.Message,ex); } ///抛出异常 return fileData; }
//2, 读取 大文件(大到约4个GB的文本文件) [csharp] view plain copy private bool ReadBigFile() { string sTmpFile=@"c:\tmpTest.txt"; if (File.Exists(sTmpFile)) { File.Delete(sTmpFile); } if (!System.IO.File.Exists(sTmpFile)) { FileStream fs; fs = File.Create(sTmpFile); fs.Close(); } if (!File.Exists(txtFileName.Text.Trim())) { lblResult.Text = "File not exist!"; txtFileName.Focus(); return false; } FileStream streamInput = System.IO.File.OpenRead(@txtFileName.Text.Trim()); FileStream streamOutput = System.IO.File.OpenWrite(sTmpFile); int iRowCount = 10; int.TryParse(txtRowCount.Text.Trim(), out iRowCount); try { for (int i = 1; i <= iRowCount; ) { int result = streamInput.ReadByte(); if (result == 13) { i++; } if (result == -1) { break; } streamOutput.WriteByte((byte)result); } } finally { streamInput.Dispose(); streamOutput.Dispose(); } string sContent = ReaderFile(sTmpFile); CopyToClipboard(sContent); return true; } public static string ReaderFile(string path) { string fileData = string.Empty; try { ///读取文件的内容 StreamReader reader = new StreamReader(path, Encoding.Default); fileData = reader.ReadToEnd(); reader.Close(); } catch (Exception ex) { // throw new Exception(ex.Message,ex); } ///抛出异常 return fileData; } private void CopyToClipboard(string sSource) { Clipboard.Clear(); if (!string.IsNullOrEmpty(sSource)) { Clipboard.SetText(sSource); } }