我需要根据我使用的 API 来实现一个带有InputStream
参数(的实例FileInputStream
)的方法,该方法将调用带有File
参数的方法。
implementedMethod(InputStream is){
FileInputStream fis = (FileInputStream)is; //always works
File f = (???) ????(???).???;
calledMethod(f);
}
File
那么,当我只有一个时,我该如何提供FileInputStream
呢?我不明白 aFileChannel
或 a FileDescriptor
(都在FIS
) 到底是什么以及它们是如何工作的。
我猜这无法完成,我将不得不在文件系统上实际编写一个(临时)文件。如果没有,如果我可以使用 FileChannel 或 FileDescriptor 或什至使用RandomAccessFile
(?)之类的东西在内存中创建我的文件,我想知道如何......
是不是构造一个可读File
对象需要它存在于磁盘上的某个地方?我觉得这很奇怪...