Tag: streamwriter

如何清除文本文件内容c#

我希望使用此方法明确文本文件 private void writeTextFile(string filePath, string text) { if (!File.Exists(filePath)) { File.Create(filePath).Close(); } using (StreamWriter tw = new StreamWriter(filePath)) { File.WriteAllText(filePath,””); tw.WriteLine(text); tw.Close(); } } 但是我得到了这个错误 The process cannot access the file because it is being used by another process. 但这不能在任何地方打开, 请帮我谢谢

关闭文件而不使用

我有一个类从一个文件流中读取数据并写入另一个文件流。 我关注在closeFiles()处理完成后关闭流。 你如何处理一个流的处理可能引发exception停止处理另一个流的可能性。 我应该近距离呼叫并处理流或只是一个? 如果我从流处理中捕获任何错误然后继续移动和删除文件会发生什么,如lastOperation()中所示? 在一个完美的世界中,我想在c ++样式初始化列表中使用using语句,但我很确定在c#中不可能。 编辑 :感谢快速反应的人。 所以我应该做的是从IDisposable派生,然后更改构造函数并添加这样的两个处理方法?: ~FileProcessor() { Dispose(true); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool disposing) { if (!this.disposed) { if (disposing) { sw.Flush(); } closeFiles(); disposed = true; } } 这基本上就是我在做的事情: class FileProcessor { private string in_filename; private string out_filename; private StreamReader sr; private StreamWriter […]

c#using statement和StreamWriter

我正在使用StreamWriter将内容写入记事本。 我发现如果我没有单独使用语句和实例StreamWriter 。 该方法无法运行。 有人知道原因吗? static void Main(string[] args) { //StreamWriter c = new StreamWriter(@”C:\Users\rxxx\Desktop\important.txt”, true); using (StreamWriter c = new StreamWriter(@”C:\Users\xxx\Desktop\important.txt”, true)) { c.WriteLine(“hello”); } 这可以运行。 但是,如果我改为运行备注部分。 记事本什么都没有显示。 谁知道原因?

如何使用StreamReader和StreamWriter创建文件副本

我需要使用StreamReader读取控制台应用程序上的.txt文件,然后创建一个具有不同名称但内容相同的新文件或备份。 问题是我无法弄清楚如何使用第一个文件中的内容放入新文件中。 (这是针对学校的事情而且是C#的新手) using System; using System.IO; namespace UserListCopier { class Program { static void Main() { string fineName = “zombieList.txt”; StreamReader reader = new StreamReader(fineName); int lineNumber = 0; string line = reader.ReadLine(); while (line != null) { lineNumber++; Console.WriteLine(“Line {0}: {1}”, lineNumber, line); line = reader.ReadLine(); } StreamWriter writetext = new StreamWriter(“zombieListBackup.txt”); writetext.Close(); […]

字典排序

我正在使用这个var ordered = dictionary.Keys.OrderBy(x => x); 订购字典。 这很好地按字母顺序排列字典,我希望保持这种方式并添加一些例外…… 所以现在,有序字典对于输出看起来像这样: 1: “0603C” “113456” 1 2: “0603C” “984132” 8 3: “0603R” “11115” 3 4: “0603R” “13554” 1 5: “1608C_1.0” “119764” 2 6: “1608C_1.0” “147429” 54 7: “1608R_1.0” “122951” 4 8: “1608R_1.0” “147446” 1 9: “1608R_1.0” “147448” 23 10: “3216” “110762” 2 11: “TANT23” “119764” 2 //more here… […]

从SqlDataReader写入多个文件

我已经创建了一个数据读取器流,我正在尝试将结果写入文件。 由于此表可能会返回数百万条记录,因此我想写入多个文件,以便我可以在文本编辑器中打开它们而不会出现问题,即。 文本编辑器崩溃,因为文件太大。 这大致是我现在所拥有的。 using (var connection = new SqlConnection(connectionString)) using (var stream = new FileStream(“directoryLocation”, FileMode.Create)) { SqlCommand command = connection.CreateCommand(); command.CommandText = “Select * from tblTemp”; connection.Open(); using(SqlDataReader reader = command.ExecuteReader()) { var tableName = “tblTemp”; var fileName = tableName + “.txt”; var recordCount = 0; var fileCount = 0; using (StreamWriter writer […]

添加到文本文件而不删除

我需要在一行中添加4个变量数,但是使用当前代码它只是替换数字,从而使它毫无意义。 using (StreamWriter writer = new StreamWriter(“build.txt”)) { writer.Write(” ” + layer + ” ” + x + ” ” + y + ” ” + block); Console.WriteLine(“[” + layer + “,” + x + “,” + y + “,” + block + “]”); } 所以我需要它写… lxyblxyblxyblxyb … …但它并没有像这样,互联网并没有特别有用,希望这里可以提供帮助。

使用StreamReader进行并发文件访问时引发exception

我发现了一篇关于使用StreamWriter处理并发文件访问的post 。 问题是答案不管理正在访问文件但多个进程的场景。 我们稍后告诉它: 我有多个应用程序 我需要在dataBase中使用集中式日志记录系统 如果数据库失败,我需要回退文件系统日志 存在一种已知的并发方案,其中多个应用程序(进程)将尝试在该文件中写入。 这可以通过在短暂延迟后重新尝试写入来管理。 但如果是安全错误或文件名语法错误,我不想重新尝试。 代码在这里: // true if an access error occured bool accessError = false; // number fo writing attemps int attempts = 0; do { try { // open the file using (StreamWriter file = new StreamWriter(filename, true)) { // write the line file.WriteLine(log); // success result […]

从StreamWriter获取文件大小

using (var writer = File.CreateText(fullFilePath)) { file.Write(fileContent); } 鉴于上面的代码,可以从StreamWriter文件大小吗?

当Stream.Read()存在时,StreamReader的目的是什么?

这一直困扰着我。 我知道Stream是一个抽象类,因此无法实例化,但它具有从中派生的类。 为什么有StreamReader类和Stream.Read()方法( 反之为StreamWriter和Stream.Write() )? 您可以使用300万种不同的方法写入文本文件,尝试在System.IO命名空间中了解所有这些不同的类型和方法是相当令人沮丧的。 我找到了关于作者和读者对象或派生的流对象本身之间的差异的问题和答案,但没有关于这个特定情况的问题。