在Windows窗体上使用打开文件对话框

时间:2014-06-30 13:49:31

标签: c# openfiledialog

我编写了一个程序,它读取csv文件,进行一些更改并写入新的csv文件。

我希望用户能够使用Windows窗体上的打开文件对话框从目录中选择要读取的csv文件。

到目前为止,我已经能够编写一些代码,以便用户可以查找文件,但我不确定如何将用户选择的文件链接到steamreader。

这是读取和写入csv文件的代码

try 
{
    using (StreamWriter sw = new StreamWriter("X:/PublishedSoftware/Data/NEWPYAEGON1PENSION.csv"))
    {
        using (StreamReader sr = new StreamReader(""))
        {

这是打开文件对话框的代码

private void btnFindAegonFile_Click(object sender, EventArgs e)
{
    openFileDialog1.Filter = "csv files(*.csv)|*.csv|All files(*.*)|*.*";
    openFileDialog1.FileName = "Browse for the AEGON file.";

    DialogResult result = openFileDialog1.ShowDialog();

    txtFindAegonFile.Text = this.openFileDialog1.FileName;

5 个答案:

答案 0 :(得分:3)

如果您有文件名:

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    string fileName = this.openFileDialog1.FileName;

    ...
}

您可以使用流阅读器(代替...)阅读内容:

using (StreamReader sr = new StreamReader(fileName))

或直接阅读内容:

string input = File.ReadAllText(fileName);

答案 1 :(得分:0)

您必须通过将文件路径传递给StreamWriter来完成FileOpen Dialog代码段,如:

  using (StreamWriter sw = new StreamWriter(fileName));
  // ... open the file w/StreaWriter

答案 2 :(得分:0)

使用openFileDialog1' FileOK事件来了解用户何时选择了有效文件。然后,您可以从openFileDialog1.FileName恢复文件路径。

答案 3 :(得分:0)

以下是如何从文件名转到StreamReader的片段:

var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using (var sr = new StreamReader(fs))
{
...
}

答案 4 :(得分:0)

我使用了它:

string readfilename = txtFindAegonFile.Text;

try
{
    using (StreamReader sr = new StreamReader(readfilename))
    using (StreamWriter sw = new StreamWriter("X:/PublishedSoftware/Data/NEWPYAEGON1PENSION.csv"))
}