0

我相信创建文件已完成。我在保存到文件时遇到问题。我应该做的是最初创建文件然后填写表格并将其保存到该文件并在文件中用逗号分隔它们,以便在我的下一个作业中我可以创建一个表格来读取文件并填写在表格中并用逗号分隔并填写到文本框中。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace FileExercise
{
    public partial class frmscout : Form
    {
        private StreamWriter fileWriter;

        public frmscout()
        {
            InitializeComponent();
            btnsave.Enabled = false;
        }

        private void clickclear(object sender, EventArgs e)
        {
            tb40.Clear();
            tbheight.Clear();
            tbname.Clear();
            tbposition.Clear();
            tbreps.Clear();
            tbverticle.Clear();
        }

        private void clickexit(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void clickselect(object sender, EventArgs e)
        {
            DialogResult result;
            string fileName;


            using (SaveFileDialog fileChooser = new SaveFileDialog())
            {
                fileChooser.CheckFileExists = false;
                result = fileChooser.ShowDialog();
                fileName = fileChooser.FileName;
            }

            if (result == DialogResult.OK)
            {
                if (fileName == string.Empty)
                {
                    MessageBox.Show("Invalid File Name", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    try
                    {
                        FileStream flstrm = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
                        fileWriter = new StreamWriter( flstrm );

                        btnsave.Enabled = true;
                        btnopen.Enabled = false;
                    }
                    catch( IOException )
                    {enter code here
                        MessageBox.Show("Error opening file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }



            //FileStream outfile = new FileStream(fileName, FileMode.Append, FileAccess.Write);


        }

        private void clicksave(object sender, EventArgs e)
        {
            string[] values = new string[6];

            values[0] = tbname.Text;
            values[1] = tbheight.Text;
            values[2] = tb40.Text;
            values[3] = tbposition.Text;
            values[4] = tbreps.Text;
            values[5] = tbverticle.Text;
            //}                   
        }
    }
}
4

3 回答 3

0
 Private void clicksave(object sender, EventArgs e)
{
string[] values = new string[6];

values[0] = tbname.Text;
values[1] = tbheight.Text;
values[2] = tb40.Text;
values[3] = tbposition.Text;
values[4] = tbreps.Text;
values[5] = tbverticle.Text;

fileWriter.WriteLine(String.Join(",",values));
fileWriter.Flush();
fileWriter.Close();

}   

要加入字符串,您可以参考以下链接..因为这是来自 Adrian Code 的参考..

http://www.dotnetperls.com/string-join

于 2013-05-07T05:03:26.257 回答
0

您正在创建 StreamWriter 的新实例,并在单击 Save 按钮时收集数据,但您没有在任何地方调用StreamWriter.Write()StreamWriter.WriteLine()。您需要根据需要将其中至少一个插入到您的代码中,很可能是在clicksave函数中。

编辑:例如:

private void clicksave(object sender, EventArgs e)
{
    string[] values = new string[6];

    values[0] = tbname.Text;
    values[1] = tbheight.Text;
    values[2] = tb40.Text;
    values[3] = tbposition.Text;
    values[4] = tbreps.Text;
    values[5] = tbverticle.Text;

    fileWriter.WriteLine(String.Join(",",values));
    fileWriter.Flush();
    fileWriter.Close();
    //}                   
}
于 2013-05-07T03:59:38.063 回答
0

你可以做如下

    private void clicksave(object sender, EventArgs e)
    {
        string[] values = new string[6];

        values[0] = tbname.Text;
        values[1] = tbheight.Text;
        values[2] = tb40.Text;
        values[3] = tbposition.Text;
        values[4] = tbreps.Text;
        values[5] = tbverticle.Text;
        // you can get file name from `ShowDialog`, 
        //assume that file name is "filename.txt" then
        System.IO.File.WriteAllLines("filename.txt",values);                   
    }
于 2013-05-07T04:22:14.050 回答