IFSJavaFile 类
此 IBM Toolbox for Java™ 类表示 IBM i 集成文件系统中的文件,并扩展了 java.io.File 类。 IFSJavaFile 允许您为访问集成文件系统的 java.io.File 接口编写文件。
IFSJavaFile 使可移植接口与 java.io.File 兼容,并且仅使用 java.io.File 使用的错误和异常。 IFSJavaFile 使用 java.io.File中的安全管理器功能部件,但与 java.io.File不同, IFSJavaFile 连续使用安全功能部件。
您可以将 IFSJavaFile 与 IFSFileInputStream 和 IFSFileOutputStream 结合使用。 它不支持 java.io.FileInputStream 和 java.io.FileOutputStream。
IFSJavaFile 基于 IFSFile; 但是,它的接口比 IFSFile 更像 java.io.File 。 IFSFile 是 IFSJavaFile 类的替代方法。
您可以使用 list() 方法或 listFiles() 方法获取目录中的文件列表:
- listFiles()方法的性能更好,因为它能在首次调用时检索和缓存每个文件的信息。 之后,将从高速缓存中检索有关每个文件的信息。
- list () 方法在单独的请求中检索有关每个文件的信息,使其速度更慢,对服务器资源的要求也更高。
注意: 使用 listFiles() 意味着缓存中的信息最终会过时,因此您可能需要刷新数据。
示例: 使用 IFSJavaFile
注: 请阅读 代码示例免责声明 以获取重要的法律信息。
以下示例显示如何使用 IFSJavaFile 类:
// Work with /Dir/File.txt on the system flash.
AS400 as400 = new AS400("flash");
IFSJavaFile file = new IFSJavaFile(as400, "/Dir/File.txt");
// Determine the parent directory of the file.
String directory = file.getParent();
// Determine the name of the file.
String name = file.getName();
// Determine the file size.
long length = file.length();
// Determine when the file was last modified.
Date date = new Date(file.lastModified());
// Delete the file.
if (file.delete() == false)
{
// Display the error code.
System.err.println("Unable to delete file.");
}
try
{
IFSFileOutputStream os =
new IFSFileOutputStream(file.getSystem(), file, IFSFileOutputStream.SHARE_ALL, false);
byte[] data = new byte[256];
int i = 0;
for (; i < data.length; i++)
{
data[i] = (byte) i;
os.write(data[i]);
}
os.close();
}
catch (Exception e)
{
System.err.println ("Exception: " + e.getMessage());
}