创建或打开文件,然后向其附加数据

时间:2016-11-09 18:11:51

标签: c# .net streamwriter

我们可以使用这样的代码打开或创建文件,然后将一些数据写入其中(所有内容都将被替换)。

using (var file = File.Open(path, FileMode.OpenOrCreate))
    using (var stream = new StreamWriter(file))
        stream.WriteLine(_message);

或者我们可以使用以下代码在文件末尾添加数据,假设文件存在。

using (var file = File.Open(path, FileMode.Append))
    using (var stream = new StreamWriter(file))
        stream.WriteLine(_message);

有没有办法将这三件事合并:((创建||打开)&追加)到文件?

4 个答案:

答案 0 :(得分:1)

您可以创建自己的 <div class="ui raised segment"> <form [formGroup]="loginForm" novalidate (ngSubmit)="onSubmit()" class="ui form"> <div class="ui-grid ui-grid-responsive ui-grid-pad"> <div class="ui-grid-row form-group"> <div class="ui-grid-col-3 labelDiv"> <label class="ui-widget labelCheckbox">Email Address:</label> </div> <div class="ui-grid-col-9"> <input type="text" size="15" pInputText class="form-control" formControlName="email" autofocus/> <kg-errorMessages class="uiMessage" [control]="loginForm.controls.email"></kg-errorMessages> </div> </div> <div class="ui-grid-row form-group"> <div class="ui-grid-col-3 labelDiv"> <label class="ui-widget labelCheckbox">Password:</label> </div> <div class="ui-grid-col-9"> <input type="password" size="15" pInputText class="form-control" formControlName="password" /> <kg-errorMessages class="uiMessage" [control]="loginForm.controls.password"></kg-errorMessages> </div> </div> </div> 工厂,也可以在一行上完成。

FileStream

答案 1 :(得分:1)

如果要将数据附加到文件,只需致电File.Seek(0, SeekOrigin.End)即可。这会将文件指针设置为文件的末尾,这是用FileMode.Append打开文件后的位置。

例如:

using (var file = File.Open(path, FileMode.OpenOrCreate))
{
    File.Seek(0, SeekOrigin.End);
    using (var stream = new StreamWriter(file))
        stream.WriteLine(_message);
}

答案 2 :(得分:1)

这是一个老问题,但它可能有助于某人

您可以通过ORing打开类型

using (var file = File.Open(path, FileMode.OpenOrCreate | FileMode.Append))

答案 3 :(得分:1)

摘自FileMode.Append的文档:

  

打开文件(如果存在)并查找到文件末尾,或者   创建一个新文件。这需要附加权限。 FileMode.Append   只能与FileAccess.Write结合使用。试图寻找   到文件末尾之前的位置引发IOException   异常,并且任何读取尝试均失败并抛出   NotSupportedException异常。

Source docs.microsoft.com

因此Append可以完全满足您的需求。