Мне нужно на основе API, которые я использую, реализовать метод с параметром InputStream
(экземпляр FileInputStream
), который будет вызывать метод с аргументом File
.
implementedMethod(InputStream is){
FileInputStream fis = (FileInputStream)is; //always works
File f = (???) ????(???).???;
calledMethod(f);
}
Так, как я могу предоставить это File
, когда все, что у меня есть FileInputStream
?Я не понимаю, что такое FileChannel
или FileDescriptor
(оба в FIS
), и как они работают.
Я предполагаю, что это не может быть сделано, и что мне действительно нужно будет записать (временный) файл в файловую систему.Если нет, если я могу создать свой файл в памяти вместо этого с помощью FileChannel или FileDescriptor, или даже с чем-то вроде RandomAccessFile
(?), Я бы хотел знать, как ...
Это конструирование читабельногоFile
объект требует, чтобы он существовал где-то на диске?Я нахожу это странным ...