Streamwriter를 사용하여 목록 데이터를 텍스트 파일에 저장하지만 파일을 열면 파일이 항상 비어 있습니다. 목록을 가져와 모든 입력을 표시 할 수 있으므로 목록이 작동합니다. 파일 작성자를위한 코드를 작성합니다.streamwriter를 사용하지만 파일은 항상 비어 있습니다.
private void SaveToFile()
{
string taxpayerLine;
string taxpayerFile;
string myFileName;
FileInfo myFile;
SaveFileDialog taxpayerFileChooser;
StreamWriter fileWriter;
taxpayerFileChooser = new SaveFileDialog();
taxpayerFileChooser.Filter = "All text files|*.txt";
taxpayerFileChooser.ShowDialog();
taxpayerFile = taxpayerFileChooser.FileName;
taxpayerFileChooser.Dispose();
fileWriter = new StreamWriter(taxpayerFile, true);
foreach (Taxpayer tp in Taxpayers)
{
taxpayerLine = tp.Name + "," +
tp.Salary.ToString() + "," +
tp.InvestmentIncome.ToString() + "," +
(tp.InvestmentIncome + tp.Salary).ToString() + "," +
tp.GetRate().ToString() + "," +
tp.GetTax().ToString();
fileWriter.WriteLine(taxpayerLine);
}
fileWriter.Close();
fileWriter.Dispose();
myFile = new FileInfo(taxpayerFile);
myFileName = myFile.Name;
MessageBox.Show("Data Saved to " + myFileName);
}
foreach가 중단되면 납세자에게 어떤 것이 있습니까? –
당신은 일회용 물건에'using' 문을 사용해야합니다. 그러나 예외가 발생하지 않고 코드가 실행된다고 가정하면 파일이 비어있을 수있는 유일한 방법은 잘못된 파일을 보거나 "Taxpayers"컬렉션이 비어있는 경우입니다. –