Hi,
version poi: 3.5-FINAL
jdk: 1.5.0_02
the file is the same file that works with FileInputStream("path");
Also, it happens with blank excel file.
thanksss!
David Fisher wrote:
>
> Hi -
>
> Have you confirmed that the stream you are getting is a valid file?
> Could there be another non-xls or damaged file hiding somewhere on
> your classpath with your resource name?
>
> Try simply writing out the stream you have to the filesystem and see
> if it is an actual XLS file.
>
> Also, it could be helpful if you tell us which versions of POI and
> Java you are using.
>
> Regards,
> Dave
>
> On Nov 18, 2009, at 10:15 AM, individuodk wrote:
>
>>
>> Hi,
>>
>> System.out.println(inputStream.getClass().getName());
>> is a curiusious solution, but unfortunatelly it doesn´t work.
>>
>> log:
>> java.io.BufferedInputStream
>> [ java.io.IOException ] block[ 63 ] already removed - does your
>> POIFS have
>> circular or duplicate block references?java.io.IOException:
>> block[ 63 ]
>> already removed - does your POIFS have circular or duplicate block
>> references?
>> at
>> org.apache.poi.poifs.storage.BlockListImpl.remove(BlockListImpl.java:
>> 89)
>> at
>> org
>> .apache
>> .poi.poifs.storage.RawDataBlockList.remove(RawDataBlockList.java:32)
>> at
>> org
>> .apache
>> .poi
>> .poifs
>> .storage
>> .BlockAllocationTableReader
>> .fetchBlocks(BlockAllocationTableReader.java:187)
>> at
>> org
>> .apache
>> .poi.poifs.storage.BlockListImpl.fetchBlocks(BlockListImpl.java:123)
>> at
>> org
>> .apache
>> .poi
>> .poifs.storage.RawDataBlockList.fetchBlocks(RawDataBlockList.java:32)
>> at
>> org
>> .apache
>> .poi
>> .poifs
>> .filesystem.POIFSFileSystem.processProperties(POIFSFileSystem.java:
>> 541)
>> at
>> org
>> .apache
>> .poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:176)
>> at
>> org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:
>> 316)
>> at
>> org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:
>> 297)
>> at
>> org
>> .apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:
>> 60)
>>
>> very thanks MSB,
>> has anybody another idea?
>>
>>
>> MSB wrote:
>>>
>>> I do not know the answer to your question but I would like to
>>> discover
>>> just what type of stream you are getting back when you call the
>>> getResourceAsStream() method. If you have the time, it may be worth
>>> adding
>>> a System.out.println(inputStream.getClass().getName()); statement
>>> just to
>>> see what you are actually getting back; something like;
>>>
>>> if (sourcePath == null){
>>> inputStream =
>>> getClass().getClassLoader().getResourceAsStream("file.xls");
>>> System.out.println(inputStream.getClass().getName());
>>> workbook = WorkbookFactory.create(inputStream);
>>> }
>>>
>>> Also - and I admit that there is no reason why you would need to do
>>> this -
>>> you could try wrapping up that input stream into a FileInputStream
>>> just,
>>> again, to see what happens.
>>>
>>> Yours
>>>
>>> Mark B
>>>
>>>
>>> individuodk wrote:
>>>>
>>>> hi!!
>>>> poi-3.5-FINAL.jar
>>>>
>>>>
>>>> if (sourcePath == null){
>>>> inputStream =
>>>> getClass().getClassLoader().getResourceAsStream("file.xls");
>>>> workbook = WorkbookFactory.create(inputStream);
>>>> }
>>>> else{
>>>> inputStream = new FileInputStream(sourcePath);
>>>> workbook = WorkbookFactory.create(inputStream);
>>>> }
>>>>
>>>> When i read excel file from FileInputStream to modify it, all
>>>> works fine.
>>>> When i read excel file (SAME excel file) from
>>>> getClass().getClassLoader().getResourceAsStream..., all are
>>>> exceptions
>>>> like next:
>>>>
>>>> convertPOIOutputStream|null|Exception||4|5|N|
>>>> [ java.io.IOException ]
>>>> block[ 63 ] already removed -
>>>> does your POIFS have circular or duplicate block
>>>> references?java.io.IOException: block[ 63 ] already
>>>> removed - does your POIFS have circular or duplicate block
>>>> references?
>>>> at
>>>> org
>>>> .apache.poi.poifs.storage.BlockListImpl.remove(BlockListImpl.java:
>>>> 89)
>>>> at
>>>> org
>>>> .apache
>>>> .poi.poifs.storage.RawDataBlockList.remove(RawDataBlockList.java:32)
>>>> at
>>>> org
>>>> .apache
>>>> .poi
>>>> .poifs
>>>> .storage
>>>> .BlockAllocationTableReader.fetchBlocks(BlockAllocationTableR
>>>> eader.java:187)
>>>> at
>>>> org
>>>> .apache
>>>> .poi.poifs.storage.BlockListImpl.fetchBlocks(BlockListImpl.java:123)
>>>> at
>>>> org
>>>> .apache
>>>> .poi
>>>> .poifs.storage.RawDataBlockList.fetchBlocks(RawDataBlockList.java:
>>>> 32)
>>>> at
>>>> org
>>>> .apache
>>>> .poi
>>>> .poifs
>>>> .filesystem.POIFSFileSystem.processProperties(POIFSFileSystem.java:
>>>> 54
>>>> 1)
>>>> at
>>>> org
>>>> .apache
>>>> .poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:
>>>> 176)
>>>>
>>>>
>>>> or
>>>>
>>>> convertPOIOutputStream|null|Exception||4|5|N| [
>>>> org.apache.poi.hssf.record.RecordFormatException ] U
>>>> nable to construct record
>>>> instanceorg.apache.poi.hssf.record.RecordFormatException: Unable to
>>>> constr
>>>> uct record instance
>>>> at
>>>> org.apache.poi.hssf.record.RecordFactory
>>>> $ReflectionRecordCreator.create(RecordFactory.jav
>>>> a:64)
>>>> at
>>>> org
>>>> .apache
>>>> .poi
>>>> .hssf.record.RecordFactory.createSingleRecord(RecordFactory.java:
>>>> 263)
>>>> at
>>>> org
>>>> .apache
>>>> .poi
>>>> .hssf
>>>> .record
>>>> .RecordFactoryInputStream.readNextRecord(RecordFactoryInputStre
>>>> am.java:270)
>>>> at
>>>> org
>>>> .apache
>>>> .poi
>>>> .hssf
>>>> .record
>>>> .RecordFactoryInputStream.nextRecord(RecordFactoryInputStream.j
>>>> ava:236)
>>>> at
>>>> org
>>>> .apache
>>>> .poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:377)
>>>> at
>>>> org
>>>> .apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:
>>>> 275)
>>>> at
>>>> org
>>>> .apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:
>>>> 200)
>>>> at
>>>> org
>>>> .apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:
>>>> 316)
>>>> at
>>>> org
>>>> .apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:
>>>> 297)
>>>> at
>>>> org
>>>> .apache
>>>> .poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:60)
>>>>
>>>>
>>>> any idea about how to input file to resource? why does it happen ???
>>>> thanks!
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/exception-when-inputstream-is-read-from-getClass%28%29.getClassLoader%28%29.getResourceAsStream%28%22file.xls%22%29-tp26406348p26412919.html
>> Sent from the POI - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
--
View this message in context:
http://old.nabble.com/exception-when-inputstream-is-read-from-getClass%28%29.getClassLoader%28%29.getResourceAsStream%28%22file.xls%22%29-tp26406348p26413812.html
Sent from the POI - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]