相关疑难解决方法(0)

如何缓存InputStream以供多种用途

我有一个文件的InputStream,我使用apache poi组件来读取它像这样:

POIFSFileSystem fileSystem = new POIFSFileSystem(inputStream);
Run Code Online (Sandbox Code Playgroud)

问题是我需要多次使用相同的流,POIFSFileSystem在使用后关闭流.

从输入流缓存数据然后将更多输入流提供给不同的POIFSFileSystem的最佳方法是什么?

编辑1:

通过缓存我的意思是存储供以后使用,而不是作为加速应用程序的方法.最好是将输入流读入数组或字符串,然后为每次使用创建输入流?

编辑2:

很抱歉重新打开这个问题,但在桌面和Web应用程序中工作时条件有所不同.首先,我从tomcat web app中的org.apache.commons.fileupload.FileItem获取的InputStream不支持标记,因此无法重置.

其次,我希望能够将文件保存在内存中,以便在处理文件时更快地访问和减少io问题.

java caching inputstream apache-poi

25
推荐指数
3
解决办法
4万
查看次数

标签 统计

apache-poi ×1

caching ×1

inputstream ×1

java ×1