我有这段代码可以将文件从 IFS 复制到本地驱动器。我想就如何使它变得更好提出一些建议。
public void CopyFile(AS400 system, String source, String destination){
File destFile = new File(destination);
IFSFile sourceFile = new IFSFile(system, source);
if (!destFile.exists()){
try {
destFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
IFSFileInputStream in = null;
OutputStream out = null;
try {
in = new IFSFileInputStream(sourceFile);
out = new FileOutputStream(destFile);
// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
} catch (AS400SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(in != null) {
in.close();
}
if(out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
} // end try catch finally
} // end method
在哪里
- 源 = 完整的 IFS 路径 + 文件名和
- 目的地 = 完整的本地路径 + 文件名
我想就以下问题提出一些问题:
一个。性能注意事项
- 这会对主机 AS400 系统的 CPU 使用率产生重大影响吗?
- 这会对要使用的 JVM 产生很大影响吗(就内存使用而言)
- 将其包含在 Web 应用程序中会影响应用程序服务器的性能(这是否是一项繁重的任务)?
- 使用它来复制多个文件(冗余运行)会对所有相关资源造成很大负担吗?
湾。代码质量
- 我的 IFSFileInputStream 实现是否足够,或者一个简单的 FileInputStream 对象能很好地完成这项工作?
AFAIK,我只需要 AS400 对象来确保引用的源文件是来自 IFS 的文件。
我是 AS400 和 IFS 的菜鸟,我想向有经验的人征求诚实的意见。