Tag: inputstream

将文件作为inputstream读取时如何获取Excel文件名

尝试读取excel(*。xlsx)作为二进制inputstream。 目前使用OPCPackage(Apache POI)打开inputstream,然后使用XSSFReader读取表单。 但是在读取inputstream的时候,我们怎么能find自己的文件名。 任何帮助/build议表示赞赏

如何将S3ObjectInputStream转换为PushbackInputStream

我将一个excel(xls)file upload到s3,然后另一个应用程序应该从s3下载该文件并使用Apache POI阅读器进行parsing。 读者接受inputstreamtypes作为input,但为了正确parsingexcel,它期望PushbackInputStream 。 从s3下载的文件中的inputS3ObjectInputStream是S3ObjectInputStreamtypes的。 如何将S3ObjectInputStream转换为PushbackInputStream ? 我试着直接将S3ObjectInputStream (因为这是一个inputStream )传递给PushbackInputStream ,但是却导致了下面的exception: org.springframework.batch.item.ItemStreamException: Failed to initialize the reader at org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.open(AbstractItemCountingItemStreamItemReader.java:147) at org.springframework.batch.item.support.CompositeItemStream.open(CompositeItemStream.java:96) ….. ….. Caused by: java.lang.IllegalStateException: InputStream MUST either support mark/reset, or be wrapped as a PushbackInputStream at org.springframework.batch.item.excel.poi.PoiItemReader.openExcelFile(PoiItemReader.java:82) ….. 我试图将S3ObjectInputStream投射到PushbackInputStream,但是导致了classCastexception。 java.lang.ClassCastException: com.amazonaws.services.s3.model.S3ObjectInputStream cannot be cast to java.io.PushbackInputStream 任何人都知道这个解决scheme

获取InputStream forom Apache的POI工作簿

有没有办法获得Apache的POI工作簿InputStream ? 我需要它来pipe道到另一个OutputStream ,但是我无法find这样的方法(如果存在)。 如果没有,可以用其他方法获得它的任何提示?