我们可以使用这样的代码打开或创建文件,然后将一些数据写入其中(所有内容都将被替换)。
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);
有没有办法将这三件事合并:((创建||打开)&追加)到文件?
答案 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异常。
因此Append可以完全满足您的需求。