我真的要疯了。
我正在编写一个小型 Java(必须是 SDK 6)工具,使用 commons-net-3.1.jar 库将一堆文件同时上传到另一组服务器。我主要将它与 .jpg 图像一起使用。在有人问之前我将连接设置为 BINARY_FILE_TYPE :)
当我尝试运行它时,一切都很顺利,但有时,在上传图像后,它们上面有“小线条”,就像文件在传输过程中被损坏一样。
这一小段代码是完成所有工作的代码。当 os.write 失败以保持文件上传正确时,我应该如何管理第一个捕获的任何线索?
try {
InputStream is = new FileInputStream(rutaFichero);
OutputStream os = ftp.storeFileStream(nombreFichero);
byte buf[] = new byte[8192];
bytesRead = is.read(buf);
while ((bytesRead = is.read(buf)) != -1) {
try {
os.write(buf, 0, bytesRead);
} catch (IOException ioe) {
} catch (NullPointerException npe) {
}
}
is.close();
try {
os.close();
completado = ftp.completePendingCommand();
if (completado) {
} catch (NullPointerException npe) {}
}
出于好奇,我认为这可能只是线路状况不佳,所以我在传输了几天后检查了文件的大小,并且......它们都不匹配!哇!?