首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将字符串写入文本文件,并确保它始终覆盖现有内容。

将字符串写入文本文件,并确保它始终覆盖现有内容。
EN

Stack Overflow用户
提问于 2009-08-04 05:52:27
回答 4查看 243.5K关注 0票数 208

我有一个包含C#程序的字符串,我希望将其写入文件并始终覆盖现有内容。如果文件不在那里,程序应该创建一个新文件,而不是抛出异常。

EN

回答 4

Stack Overflow用户

发布于 2009-08-04 05:59:18

使用File.WriteAllText方法。如果文件不存在,则创建该文件,如果存在,则覆盖该文件。

票数 34
EN

Stack Overflow用户

发布于 2009-08-04 07:01:59

通常,FileMode.Create就是您要查找的内容。

票数 2
EN

Stack Overflow用户

发布于 2021-08-03 17:18:26

使用文件模式枚举更改File.Open行为。这对二进制内容和文本都有效。

由于FileMode.OpenFileMode.OpenOrCreate会将现有内容加载到文件流中,因此如果要完全替换文件,则需要先清除现有内容,然后才能将其写入到流中。FileMode.Truncate会自动执行此步骤

代码语言:javascript
复制
// OriginalFile:
oooooooooooooooooooooooooooooo

// NewFile:
----------------

// Write to file stream with FileMode.Open:
----------------oooooooooooooo
代码语言:javascript
复制
var exists = File.Exists(path);
var fileMode = exists
    ? FileMode.Truncate   // overwrites all of the content of an existing file
    : FileMode.CreateNew  // creates a new file

using (var destinationStream = File.Open(path, fileMode)
{
    await newContentStream.CopyToAsync(destinationStream);
}

FileMode Enum

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1225857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档