- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
现有代码正在调用 File.AppendAllText(filename, text)
重载以将文本保存到文件。
我需要能够在不破坏向后兼容性的情况下指定编码。如果我要使用 File.AppendAllText(filename, text, encoding)
重载,我需要指定哪种编码以确保以完全相同的方式创建文件?
最佳答案
AppendAllText() 的两个参数重载最终使用不带 BOM 的 UTF-8 编码调用内部方法 File.InternalAppendAllText()
:
[SecuritySafeCritical]
public static void AppendAllText(string path, string contents)
{
if (path == null) {
throw new ArgumentNullException("path");
}
if (path.Length == 0) {
throw new ArgumentException(
Environment.GetResourceString("Argument_EmptyPath"));
}
File.InternalAppendAllText(path, contents, StreamWriter.UTF8NoBOM);
}
因此,你可以这样写:
using System.IO;
using System.Text;
File.AppendAllText(filename, text, new UTF8Encoding(false, true));
关于c# - File.AppendAllText 默认编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17144686/
当我在 C# 3.5 中对大量记录进行交互时,我需要通过向其中添加内容来写入一个非常大的文本文件。此文件的大小可能为数 GB。我以为我会在处理每条记录后使用 File.AppendAllText 写入
我有一部分代码写入文本文件。这是应该写入文件的唯一事件进程,这是如何完成的: try { File.AppendAllText(path, '\n' + tmp); } catch (Exce
如果我有一个路径 C:\Test\Test1\a.txt 而 Test1 不存在,我如何确保在附加到 a.txt 之前创建它? 最佳答案 怎么样: Directory.CreateDirectory(
现有代码正在调用 File.AppendAllText(filename, text) 重载以将文本保存到文件。 我需要能够在不破坏向后兼容性的情况下指定编码。如果我要使用 File.AppendAl
执行操作后是否关闭文件? : System.IO.File.AppendAllText(path, text); 是,否就够了吗? 最佳答案 是的,确实如此。 如果没有,之后就没有办法关闭它,因为它不
有没有更优雅/更快的方式来编写下面的代码?目前大约需要 45 秒。 query.sql 有 200,000 行,每行都有 SQL: SELECT N'+dave' AS [AccountName],
我从数据库中获取数据并使用 File.AppendAllText 将每个数据库行写入一个文件,总共 8000 个文件。整个过程在一个循环(查询)中重复,而且似乎要花很长时间。有没有更好的方法去做这件事
我想创建一个日志文件来跟踪我的应用程序中的一些操作。在我的一个 session 场景中,我想每分钟至少记录 50 次。目前我正在使用 StremWriter 创建日志文件。 public stati
关于防止“已在使用”错误,我想问一下,如果从多个客户端多次调用,第一个代码片段是否可能存在危险?还是两个代码块都同样安全? 我问是因为第二个代码片段调用了一个 close 方法,该方法也进行了一个听起
问题 File.AppendAllText 是否管理来自多个作者的冲突? 研究 我注意到 MSDN documentation并没有真正提供任何一种方式,所以我决定我会反射(reflect)代码并看看
我正在阅读来自 msdn 的 File.AppendAllText 方法 http://msdn.microsoft.com/en-us/library/ms143356.aspx 我看到他们已将 F
是否有一些干净的静态方法可以将字符串转储(附加)到文件中? 最佳答案 不,我所知道的最接近的是: FileWriter writer = new FileWriter(fname, true); wr
作为无聊的好奇心练习,考虑以下简单的日志记录类: internal static class Logging { private static object threadlock; s
为了使用 File.CreateText() 和 File.AppendText() 你必须: 通过调用这些方法之一打开流 写消息 关闭流 处理流 为了使用 File.AppendAllText()
我是 Unity3d 的新手,尝试打开一个现有项目。播放时显示以下错误。 Assets/Scripts/DataAccess.cs(39,30):错误 CS0117:System.IO.File' 不
我正在编写一个简单的键盘记录程序(用于非恶意目的)。 注意:这是 .net 4.0 客户端配置文件 每当我启动程序时,我都会收到此错误: The process cannot access the f
我是一名优秀的程序员,十分优秀!