Tag: 缓存输入

如何缓存InputStream以供多种用途

我有一个文件的InputStream,我使用apache poi组件来读取它像这样: POIFSFileSystem fileSystem = new POIFSFileSystem(inputStream); 问题是我需要多次使用相同的流,POIFSFileSystem在使用后关闭流。 从输入流缓存数据然后将更多输入流提供给不同的POIFSFileSystem的最佳方法是什么? 编辑1: 通过缓存我的意思是存储供以后使用,而不是作为加速应用程序的方法。 也可以将输入流读入数组或字符串,然后为每次使用创建输入流? 编辑2: 很抱歉重新打开这个问题,但在桌面和Web应用程序中工作时条件有所不同。 首先,我从tomcat web app中的org.apache.commons.fileupload.FileItem获取的InputStream不支持标记,因此无法重置。 其次,我希望能够将文件保存在内存中,以便在处理文件时更快地访问和减少io问题。