Dim OpenFileDialog As New OpenFileDialog
OpenFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
OpenFileDialog.Filter = "文本文件(*.jpg)|*.jpg|所有文件(*.*)|*.*"
If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
Dim FileName As String = OpenFileDialog.FileName
' TODO: 在此处添加打开文件的代码.
textbox1.Text = FileName
End If
第一个按钮 上传
Dim filelast As String = fileaddbefore.Text.Substring(fileaddbefore.Text.LastIndexOf("."), fileaddbefore.Text.Length - fileaddbefore.Text.LastIndexOf("."))
MessageBox.Show(filelast)
My.Computer.Network.UploadFile(textbox1.Text, "" 文件名.Text filelast, "登录名1", "登录密码", True, 100)
第二个按钮
public void getDirectoryList()
{
//实例化目录信息类 //1.获得FTP 文件夹物理路径
DirectoryInfo dir = new DirectoryInfo(@"E:\练习\RegeditKey\RegeditKey\");
foreach (var item in dir.GetFiles("*.txt,*.dbf,*.jpg"))
//遍历 文件名,创建时间,修改时间等信息.
this.textBox1.Text+= "文件名:"+item.Name+" 创建时间"+item.CreationTimeUtc+"修改时间"+item.LastWriteTimeUtc+"\r\n";
}
你这个ftp是用的都是同一个对象,每次递归workfolder都被update掉了....当然会不继续遍历,改成每次都Generate一个New的ftp吧.
补充:
本来你ftp指向目录A,后来进入递归被改成指向A/B了,你说遍历还能准确吗?
还有个方法就是每次递归回来调用:
;
把Path给设置回来.不过不确定这个方法稳定,可以先Try一下.
public void listFilesDir(String path) throws IOException{
String ftpPath = path;
FTPFile[] files = ;
for(FTPFile ff:files){
if(!ff.isDirectory()){
System.out.println("文件:" + ff.getName());
else{
if(!ff.getName().startsWith(".")){
ftpPath = ff.getName() + "/";
System.out.println("目录 " + ff.getName() + " 下的文件文件或目录:");
listFilesDir(ftpPath);
再补充:
中文的话试试看用GBK...Java项目的编码记得也要一样的.
以上就是土嘎嘎小编为大家整理的vb.netftp遍历相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!