任何人都可以向我建议查看文件是否存在的最佳方法吗?File.Exists不适合我.
string abc = "me_label.deploy";
File.Exists(abc)
Run Code Online (Sandbox Code Playgroud)
该文件abc来自Streamreader.ReadLine();.
我甚至使用了完整的路径.我不想在我的项目中包含文件.如果我把它包含在我的项目中它工作正常.
我的代码:
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create("me@localhost/"; + ab);
//ab=newfolder/newfolder1
ftp.Credentials = new NetworkCredential(user, pass);
ftp.Method = WebRequestMethods.Ftp.ListDirectory;
StreamReader sr = new StreamReader(ftp.GetResponse().GetResponseStream());
StringBuilder result = new StringBuilder();
string abc = sr.ReadLine();
while (abc != null)
{
result.Append(abc);
//abc=file
result.Append("\n");
if (File.Exists(ab+abc))
{
//file
}
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,.NET中的任何相对路径都相对于bin/Debug项目的子目录.因此,除非me_label.deploy在该文件夹中,否则您的程序将无法找到它.如果包含它,它将被复制到该文件夹然后它可以工作.
但是你必须改变路径.使用Path该类中的方法.
string filename = "me_label.deploy";
string basePath = @"C:\My Documents\";
string absolutePath = Path.Combine(basePath, filename);
// C:\My Documents\me_label.deploy
Console.WriteLine(File.Exists(absolutePath));
Run Code Online (Sandbox Code Playgroud)