我想在File.txt
中写一个计数器,只要我关闭我的file.exe
。
例如,在第一次关闭它时,它必须写入1,第二次而不是1,它必须是2,第三次必须是3,依此类推。FileStream在file.exe关闭的同时读写器
但问题是,在任何时候,编译器都必须读取存储在文件中的数字,然后将其增加,然后编写它。
这里是我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace check
{
public partial class Form1 : Form
{
public string[] line = { "1", "2", "3", "4", "5", "6", "7", "8", "9","10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20" };
public int i = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
FileStream textfile = new FileStream(@"C:\TtAL.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
var Reader = new StreamReader(textfile);
var Writer = new StreamWriter(textfile);
i = Convert.ToInt32(File.ReadAllText(@"C:\TtAL.txt"));
if (File.ReadAllText(@"C:\TtAL.txt") == null) { i = -1; }
i ++;
File.WriteAllText(@"C:\TtAL.txt", line[i]);
MessageBox.Show(20 - Convert.ToUInt32(line[i]) + " times remained.");
textfile.Close();
}
}
}
我愿意把这些代码到'using'块。另外,您不需要同时阅读和书写。只要读取数字,将其存储在一个变量中,将1加到变量中,然后写入(使用''块将处理关闭/处理等等)。 –