C# Select 目录,默认目录

C# Select Directory, Default Directory

我是 C# 的新手,我已经为一款名为 Arma 3 的游戏完成了一些批处理文件和一些东西,该游戏使用 SQF 和 C++。所以请原谅我的无知,我正在努力学习。

我最近使用 GUI 而不是控制台应用程序编写了这段代码。用于教育目的。它从我的 FTP 服务器下载并列出目录内容。但是,当我下载该文件时,它说它已下载并且没有显示在我的 PC 上的任何位置。 FTP 服务器连接,甚至说传输正确。

如何显示 "Select Directory" 选项?甚至默认路径?

我尝试了一些方法,但都挂断了。 using System.IO; & using System.Windows; 产生错误“"Path" 不明确”

using System.Windows;
using System.Net;
using System.IO;


namespace Downloader
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void DLBTN_Click(object sender, RoutedEventArgs e)
        {


            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://xxx.xxx.xxx.xxx/test.txt");
            request.Method = WebRequestMethods.Ftp.DownloadFile;

            request.Credentials = new NetworkCredential("test", "test123");

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();

            MessageBox.Show("Download Complete", response.StatusDescription);
        }

        private void CNTBTN_Click(object sender, RoutedEventArgs e)
        {
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://xxx.xxx.xxx.xxx/");
            request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

            request.Credentials = new NetworkCredential("test", "test123");

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();

            Stream responseStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(responseStream);
            MessageBox.Show(reader.ReadToEnd());
        }
    }
}

你实际上并没有任何你得到的回应。您获得了响应对象,但您从未调用 response.GetResponseStream() 来实际获取流,也从未打开要写入的文件。

你需要这样的东西(只是从我的头上写下来,还没有测试过):

using (FileStream outStream = new FileStream(@"C:\outputfile.txt")) // or whatever
using (Stream inStream = response.GetResponseStream())
{
    inStream.CopyTo(outStream);  // Could also await instream.CopyToAsync() instead
}

如果你想提示保存路径,你应该查看 SaveFileDialog class.