Java远程连接Windows服务器获取文件。注:不是web
不是B/S架构的,你这貌似准备做C/S架构的呢?
看你这个需求,直接下XShell 或者 XPutty 就可以满足你的需求了。
如果是直接登录到远端,直接Windows有个远程连接就可以实现你的需求了。
你要开发软件,java还是用Web的方式(B/S)比较适合。因为C/S 需要下载一个客户端,没人会为了下你的插件而下一个客户端的。
/
读取某个文件夹下的所有文件
/
public static boolean readfile(String filepath) throws FileNotFoundException, IOException {
try {
File file = new File(filepath);
if (!fileisDirectory()) {
Systemoutprintln("文件");
Systemoutprintln("path=" + filegetPath());
Systemoutprintln("absolutepath=" + filegetAbsolutePath());
Systemoutprintln("name=" + filegetName());
} else if (fileisDirectory()) {
Systemoutprintln("文件夹");
String[] filelist = filelist();
for (int i = 0; i < filelistlength; i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (!readfileisDirectory()) {
Systemoutprintln("path=" + readfilegetPath());
Systemoutprintln("absolutepath="
+ readfilegetAbsolutePath());
Systemoutprintln("name=" + readfilegetName());
} else if (readfileisDirectory()) {
readfile(filepath + "\\" + filelist[i]);
}
}
}
} catch (FileNotFoundException e) {
Systemoutprintln("readfile() Exception:" + egetMessage());
}
return true;
}
使用FTP必须两个条件:
1服务器支持ftp服务,可以接收别的机器的Ftp协议的请求。
2客户端有ftp软件。
你可能理解错误,ftp不是双向的,你可以从服务器向本地下载文件,那么你就可以控制服务器从你的机器下载文件吗?
你登录到提供ftp服务的服务器,你只能将其设置的ftp目录中将文件下载或上传到该ftp目录。
然后你可以使用WINDOWS远程链接桌面到服务器,将文件从ftp目录中取出来。
没有一句对的。
很简单的事,你把你的服务器和WEB服务器做一个磁盘映射,服务器的目录当成你WEB服务器的一个盘符,就可以当成本地硬盘去读了,Directory就可以用了。
------解决方案-------------------------------------------------------- 不用 C/S 模式,需要系统开发权限,文件夹权限,匿名访问等等,然后可以使用普通方式 \\1010访问 ------解决方案-------------------------------------------------------- 你的java 是在服务器还是客户端,服务器,那个就不消说了,Filelist 系列方法,配合过滤器 客户端的,需要httpclient,解析apache 的directory index 页面。 ------解决方案-------------------------------------------------------- 用java 调用命令行吧,硬来效率太低,Apache Commons CLI ------解决方案-------------------------------------------------------- 可以用ftpClient: public FtpClientUtil(String server,int port,String userName,String userPassword) { thisserver=server; thisport=port; thisuserName=userName; thisuserPassword=userPassword; } / 链接到服务器 @return / public boolean open() { if(ftpClient!=null ftpClientserverIsOpen()) return true; try { ftpClient= new FtpClient(); ftpClientopenServer(server,port); ftpClientlogin(userName, userPassword); ftpClientbinary(); return true; } catch(Exception e) { eprintStackTrace(); ftpClient=null; return false; } } / 返回FTP 目录下的文件列表 @param ftpDirectory @return / public List String getFileNameList(String ftpDirectory) { List String list = new ArrayList String (); if(!open()) return list; try { DataInputStream dis = new DataInputStream(ftpClientnameList(ftpDirectory)); String filename = ; while((filename=disreadLine())!=null) { listadd(filename); } } catch (Exception e) { eprintStackTrace(); } return list; }
0条评论