【发布时间】:2011-08-20 23:49:02
【问题描述】:
我有一个简单的问题。我正在尝试用 Java 将文件上传到我的 ftp 服务器。
我的计算机上有一个文件,我想复制该文件并上传。我尝试手动将文件的每个字节写入输出流,但这不适用于复杂的文件,例如 zip 文件或 pdf 文件。
File file = some file on my computer;
String name = file.getName();
URL url = new URL("ftp://user:password@domain.com/" + name +";type=i");
URLConnection urlc = url.openConnection();
OutputStream os = urlc.getOutputStream();
//then what do I do?
只是为了好玩,这是我尝试做的:
OutputStream os = urlc.getOutputStream();
BufferedReader br = new BufferedReader(new FileReader(file));
String line = br.readLine();
while(line != null && (!line.equals(""))) {
os.write(line.getBytes());
os.write("\n".getBytes());
line = br.readLine();
}
os.close();
例如,当我使用 pdf 执行此操作,然后尝试打开使用此程序运行的 pdf 时,它说尝试打开 pdf 时发生错误。我猜是因为我正在向文件写入“\n”?如果不这样做,如何复制文件?
【问题讨论】:
-
不起作用是什么意思?
-
好吧,我尝试打开我试图以这种方式复制的 pdf,它说文件出现错误。