我在linux机器上运行我的Java App。我要求将文件写入Windows共享路径。要求是从linux到Windows的驱动器安装无法完成,并且不能使用像JCIFS这样的附加库。我想过使用FTP。 Linux机器支持FTP。我尝试使用连接到运行我的应用程序的同一台机器的FTPClient。(我同意这没有意义)。在同一台计算机上运行FTP客户端。我怎样才能将文件从linux传输到Windows驱动器?
APP->在服务器上运行 - >将文件写入某个位置
我想将文件从该位置(linux)复制到Windows驱动器而不使用安装概念和其他库?
运行此应用程序的计算机支持FTP。我使用FTPClient连接到同一台机器,我认为没有任何意义。但是我 我坚持这个。我对linux环境和访问文件的方式不太了解。
我的守则如下:请您在这种情况下建议我该怎么做?您的帮助将非常值得注意。
public static void downloadFile(String server, String userName, String password, String remoteFilePath, String localFilePath) {
remoteFilePath="/tmp/"; //linux path where [My app is running on linux environment.]
localFilePath="\\\\host\\folder\\subfolder\\"; //This is where I need to transfer files from linux machine. [It is shared path]
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server);
ftpClient.login(userName, password);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
FileOutputStream fos = new FileOutputStream(localFilePath);
System.out.println("Start Transferring file...");
boolean isCompletedDownload= ftpClient.retrieveFile(remoteFilePath, fos);
System.out.println("File Transfer!!!" + isCompletedDownload);
// ftpClient.deleteFile(remoteFilePath);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}