C# 在windows窗体上使用“打开文件”对话框

C# 在windows窗体上使用“打开文件”对话框,c#,openfiledialog,C#,Openfiledialog,我写了一个程序,它读取一个csv文件,进行一些更改并写入一个新的csv文件 我希望用户能够使用windows窗体上的“打开文件”对话框选择要从其目录中读取的csv文件 到目前为止,我已经能够编写一些代码,以便用户可以查找文件,但我不确定如何将用户选择的文件链接到steamreader 这是读取和写入csv文件的代码 try { using (StreamWriter sw = new StreamWriter("X:/PublishedSoftware/Data/NEWPYAEGON1

我写了一个程序,它读取一个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;

如果您有文件名:

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

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

或直接阅读内容:

string input = File.ReadAllText(fileName);

如果您有文件名:

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

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

或直接阅读内容:

string input = File.ReadAllText(fileName);

如果您有文件名:

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

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

或直接阅读内容:

string input = File.ReadAllText(fileName);

如果您有文件名:

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

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

或直接阅读内容:

string input = File.ReadAllText(fileName);

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

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

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

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

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

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

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

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

使用
openFileDialog1
的事件来了解用户何时选择了有效的文件。然后,您可以从
openFileDialog1.FileName

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

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

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

接收文件路径。下面是一个如何从文件名转换为StreamReader的片段:

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

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

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

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

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

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

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

我让它工作了我用过:

string readfilename = txtFindAegonFile.Text;

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

我让它工作了我用过:

string readfilename = txtFindAegonFile.Text;

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

我让它工作了我用过:

string readfilename = txtFindAegonFile.Text;

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

我让它工作了我用过:

string readfilename = txtFindAegonFile.Text;

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


回答得好+1用于提及
文件。ReadAllText
。。。这个和
writealText
保存了整个
使用
东西…@Hinek:谢谢。事实上,在大多数情况下,这是一条可行之路
StreamReader
对于大文件或只想读取前X个字符的文件可能很有用。这不起作用,因为我使用StreamReader是因为我想一次只读取一行,而且它必须位于文件的顶部program@user3734454当前位置我不太理解你的评论。您可以使用我的答案中的
使用…
,对吗?是的,但是我的streamreader使用的方法与打开文件对话框方法不同。回答好+1用于提及
文件。ReadAllText
。。。这个和
writealText
保存了整个
使用
东西…@Hinek:谢谢。事实上,在大多数情况下,这是一条可行之路
StreamReader
对于大文件或只想读取前X个字符的文件可能很有用。这不起作用,因为我使用StreamReader是因为我想一次只读取一行,而且它必须位于文件的顶部program@user3734454当前位置我不太理解你的评论。您可以使用我的答案中的
使用…
,对吗?是的,但是我的streamreader使用的方法与打开文件对话框方法不同。回答好+1用于提及
文件。ReadAllText
。。。这个和
writealText
保存了整个
使用
东西…@Hinek:谢谢。事实上,在大多数情况下,这是一条可行之路
StreamReader
对于大文件或只想读取前X个字符的文件可能很有用。这不起作用,因为我使用StreamReader是因为我想一次只读取一行,而且它必须位于文件的顶部program@user3734454当前位置我不太理解你的评论。您可以使用我的答案中的
使用…
,对吗?是的,但是我的streamreader使用的方法与打开文件对话框方法不同。回答好+1用于提及
文件。ReadAllText
。。。这个和
writealText
保存了整个
使用
东西…@Hinek:谢谢。事实上,在大多数情况下,这是一条可行之路
StreamReader
对于大文件或只想读取前X个字符的文件可能很有用。这不起作用,因为我使用StreamReader是因为我想一次只读取一行,而且它必须位于文件的顶部program@user3734454当前位置我不太理解你的评论。您可以使用我的答案中的
使用…
,对吗?是的,但我的streamreader使用的方法与“打开文件”对话框方法不同。我如何使用它来了解用户何时选择了有效文件?我如何使用它来了解用户何时选择了有效文件?我如何使用它来了解用户何时选择了有效文件?我如何使用它来了解用户何时选择了有效文件我想这是唯一能放文件路径的东西我想这是唯一能放文件路径的东西我想这是唯一能放文件路径的东西我想这是唯一能放文件路径的东西