如何使用java将文件(移动/复制)从windows计算机发送到服务器
我想将一些文件从我的计算机复制到服务器位置
我的计算机在Windows-7上运行。我的文件存储在:
C:\Transfer\
我必须传输文件的服务器位置是:
\\server1\myname\TransferData\
我想用Java来做这件事。我在命令提示符下尝试了一些类似的命令:
pushd \\server1\myname\TransferData\
Z:\> mv C:\Transfer\* Z:\
由于某些原因,当手动执行时,此操作有效&;不能通过java工作。我有个例外
我一直在使用的Java代码:
Process proc = Runtime.getRuntime().exec("pushd \\server1\myname\TransferData\");
proc.waitFor();
// once this server location gets mounted - i was thinking of moving the file. that part works through java.
我得到的错误是:
Exception in thread "main" java.io.IOException: Cannot run program "pushd": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at com.data.Main.main(Main.java:34)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
我也试过:
Process proc = Runtime.getRuntime().exec("cmd pushd \\server1\myname\TransferData\");
proc.waitFor();
&
Process proc = Runtime.getRuntime().exec("cmd \c pushd \\server1\myname\TransferData\");
proc.waitFor();
&
Process proc = Runtime.getRuntime().exec("cmd.exe pushd \\server1\myname\TransferData\");
proc.waitFor();
上述操作不会引发异常。也不会将服务器位置装载到我的计算机上
我在服务器上有写权限。我真的需要解决我的问题。谢谢
# 1 楼答案
为什么不使用JSCH呢?我已经成功地将文件从Windows计算机传输到Linux计算机。事实上,当我来到这里时,我正在寻找反面。您可以使用以下程序: