Java IO传输问题
创建的FileUtils类可重复用于所有IO。 我们通过共享将文件(随机数量)从一台Unix服务器传输到另一台 我的问题: 随机有一个文件将以0kb文件的形式通过,但没有例外,并表示传输成功 我们使用的基本方法:Java IO传输问题,java,io,Java,Io,创建的FileUtils类可重复用于所有IO。 我们通过共享将文件(随机数量)从一台Unix服务器传输到另一台 我的问题: 随机有一个文件将以0kb文件的形式通过,但没有例外,并表示传输成功 我们使用的基本方法: resultCode = 0; FileInputStream fis = null; FileOutputStream fos = null; try { fis = new FileInputStream(fileLocation + org
resultCode = 0;
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(fileLocation + orginalFile);
fos = new FileOutputStream(toFolder + destinationFile);
byte[] buf = new byte[1024];
int i = 0;
while ((i = fis.read(buf)) != -1) {
fos.write(buf, 0, i);
}
resultCode = 1;
} catch (Exception e) {
resultCode = 2;
//our logging
} finally {
try {
fis.close();
fos.close();
} catch (Exception e) {
//our logging
}
}
return resultCode;
}
你知道是什么导致了这一切吗?每次单独的文件传输都会调用FileUtils类
谢谢您在关闭之前刷新文件输出流,我不确定它是否能解决您的问题,但值得一试: public void flush()引发IOException 刷新此输出流并强制删除所有缓冲输出字节 写出来。同花顺的总合同是称其为 指示如果以前写入的任何字节已被缓冲 在实现输出流时,这样的字节应该立即 写到他们预定的目的地
关闭前刷新文件输出流,我不确定它是否能解决您的问题,但值得一试: public void flush()引发IOException 刷新此输出流并强制删除所有缓冲输出字节 写出来。同花顺的总合同是称其为 指示如果以前写入的任何字节已被缓冲 在实现输出流时,这样的字节应该立即 写到他们预定的目的地
如何关闭流?}最后{尝试{fis.close();fos.close();}捕获(异常e){它正确传输所有文件,但随机一个文件为0kb,当我检查文件以传输其正确大小时,随机发生。我已在第一次发布时更新了代码。您的代码似乎很好。您确定没有收到任何异常??fis.close();fos.close();可能不是答案,但如果fis为空,则fos可能永远不会关闭…如何关闭流?}最后{try{fis.close();fos.close();}catch(异常e){它正确传输所有文件,但随机一个文件为0kb,当我检查文件以传输其正确大小时,随机发生。我已在第一次发布时更新了代码。您的代码似乎很好。您确定没有收到任何异常??fis.close();fos.close();可能不是答案,但如果fis为空,则fos可能永远不会关闭……好的,你能给我解释一下这将做什么吗?刷新?Regard我会尝试一下,谢谢所有人的回答并保持良好。好的,你能给我解释一下这将做什么吗?刷新?Regard我会尝试一下,谢谢一切为了答案,保持健康。