c# winform获得服务器某个文件夹下的所有文件名

注意!!!不是获取本地 是获取服务器上的文件夹

C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;
using System.Windows.Forms;

namespace ConvertData
{
class FtpUpDown
{
string ftpServerIP;
string ftpUserID;
string ftpPassword;
FtpWebRequest reqFTP;
private void Connect(String path)//连接ftp
{
// 根据uri创建FtpWebRequest对象
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(path));
// 指定数据传输类型
reqFTP.UseBinary = true;
// ftp用户名和密码
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
}
public FtpUpDown(string ftpServerIP, string ftpUserID, string ftpPassword)
{
this.ftpServerIP = ftpServerIP;
this.ftpUserID = ftpUserID;
this.ftpPassword = ftpPassword;

}
//都调用这个
private string[] GetFileList(string path, string WRMethods)//上面的代码示例了如何从ftp服务器上获得文件列表
{
string[] downloadFiles;
StringBuilder result = new StringBuilder();

try
{
Connect(path);
reqFTP.Method = WRMethods;
WebResponse response = reqFTP.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.Default);//中文文件名
string line = reader.ReadLine();
while (line != null)
{
result.Append(line);
result.Append("\n");
line = reader.ReadLine();
}
// to remove the trailing '\n'
result.Remove(result.ToString().LastIndexOf('\n'), 1);
reader.Close();
response.Close();
return result.ToString().Split('\n');
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
downloadFiles = null;
return downloadFiles;
}
}
public string[] GetFileList(string path)//上面的代码示例了如何从ftp服务器上获得文件列表
{
return GetFileList("ftp://" + ftpServerIP + "/" + path, WebRequestMethods.Ftp.ListDirectory);

}

public string[] GetFileList()//上面的代码示例了如何从ftp服务器上获得文件列表
{
return GetFileList("ftp://" + ftpServerIP + "/", WebRequestMethods.Ftp.ListDirectory);

}
public void Upload(string filename) //上面的代码实现了从ftp服务器上载文件的功能
{
FileInfo fileInf = new FileInfo(filename);
string uri = "ftp://" + ftpServerIP + "/" + fileInf.Name;

Connect(uri);//连接

// 默认为true,连接不会被关闭
// 在一个命令之后被执行
reqFTP.KeepAlive = false;

// 指定执行什么命令
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

// 上传文件时通知服务器文件的大小
reqFTP.ContentLength = fileInf.Length;

// 缓冲大小设置为kb
int buffLength = 2048;

byte[] buff = new byte[buffLength];
int contentLen;

// 打开一个文件流(System.IO.FileStream) 去读上传的文件
FileStream fs = fileInf.OpenRead();
try
{
// 把上传的文件写入流
Stream strm = reqFTP.GetRequestStream();

// 每次读文件流的kb
contentLen = fs.Read(buff, 0, buffLength);

// 流内容没有结束
while (contentLen != 0)
{
// 把内容从file stream 写入upload stream
strm.Write(buff, 0, contentLen);

contentLen = fs.Read(buff, 0, buffLength);
}

// 关闭两个流
strm.Close();
fs.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Upload Error");
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-11
你需要能与服务器通讯才可以,可选择的方法要么在服务器上开一个现有的服务,比如开个ftp,或者在服务器上放个网页(当然也可以webservice什么的),用这个网页获取服务器上的文件名,然后在winform中访问这个网页,或者也可以自己写一个服务端放在服务器上,用winform通过socket之类的与它通讯。

C# Winform里面怎么把一个文件夹下面的文件名称读取出来到ComBox的下拉...
string strUserDirPath="你的目录路径";if (Directory.Exists(strUserDirPath) == true){ string[] strArrFiles = Directory.GetFiles(strUserDirPath);DataTable dt = new DataTable();DataColumn dc = new DataColumn("user", typeof(string));dt.Columns.Add(dc);foreach (string s in str...

在C#编程的WinForm中,如何在下拉菜单中自动获取显示某文件夹中的文件...
public void DeleParentFolder(string FolderPathName, ComboBox cbx){ try { DirectoryInfo DelFolder = new DirectoryInfo(System.Web.HttpContext.Current.Server.MapPath(FolderPathName).ToString());\/\/获取文件夹根目录(根据实际情况获取)if (DelFolder.Exists) \/\/根目录是否存在 { FileInfo[] filei...

C# Winform如何打开指定的文件夹?
1、首先新建一个项目,点击右侧第一行的windows窗体应用程序。2、弹出的对话框,点击button按钮添加一个按钮用来点击打开文件夹。3、在点击文本框,插入一个文本框到界面,如下图所示。4、然后双击第二步骤的按钮,进入当按钮点击所执行的代码输入下图代码。5、然后任意新建一个文本文档,在输入下图红框处...

c# winform 里打开文件夹显示所有的文件在listbox里
\/\/\/ 递归浏览所有文件,string name是你文件夹名 \/\/\/ public void LookFile(string pathname){ if (pathname.Trim().Length==0)\/\/判断文件名不为空 { return;} \/\/获取文件夹下的所有文件和文件夹 string[]files = Directory.GetFileSystemEntries(pathname);try { foreach (string dir in files...

C# 如何远程读取文件夹下的所有文件名
这个需要你设置好 那个ABC那个文件夹的权限才可以读取到,得是你能访问的,一般加上network service 这个组设置好这个组的访问权限,然后就可以用c#里面普通的读文件的方法,直接读就可以啦。还有一种方法是你写一个webservice 放在192.168.1.1 的机器上然后发布出去,用你的客户端程序调用webservice...

C#怎么获得电脑指定路径下文件夹内的文件名称?
6. System.Windows.Forms.Application.StartupPath-获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\\"而已7. System.Windows.Forms.Application.ExecutablePath-获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。对于Windows程序和Web 应用程序来说,...

C#怎么读取项目文件夹下的文件?
默认程序就是运行在debug目录下的,你用相对目录的话,当然就是这个路径 一般对于文件,生成的时候都会把文件设置Content(内容)这样生成项目的时候编译器会自动把所需文件copy到生成文件夹里面 这样调试时直接就可以用相对目录取到项目下的文件了

C# winform bin文件夹、obj文件夹、Properties文件夹下分别存放什么文件...
Properties文件夹 定义你程序集的属性 项目属性文件夹 一般只有一个 AssemblyInfo.cs 类文件,用于保存程序集的信息,如名称,版本等,这些信息一般与项目属性面板中的数据对应,不需要手动编写 Bin 目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin\/Debug和bin\/Release,...

c#中如何对打开的文件夹中的文件进行统计?谢谢
FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;通过这些方法可以写出遍历,查找指定路径下所有的文件、子文件夹和子文件夹下的文件 等等。个数和总大小很好统计,通过将文件路径取最后几位来判断文件类型。通过linq.GroupBy来分组,...

C#如何检索文件夹下文件的扩展名种类
files) { var size = group.Sum(f => f.Length); var count = group.Count(); Console.WriteLine(string.Format("扩展名:{0}\\t大小:{1}bytes\\t文件数量:{2}", group.Key, size, count)); } Console.ReadLine();} ...

相似回答