You might take a look at http://mindprod.com/jgloss/getresourceasstream.html
See if it helps you out.
Also, you might try to update to the latest jdk 1.5.0_xx
Regards,
Dave
On Nov 18, 2009, at 11:10 AM, individuodk wrote:
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: user-unsubscr...@poi.apache.org
For additional commands, e-mail: user-h...@poi.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@poi.apache.org
For additional commands, e-mail: user-h...@poi.apache.org
--
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: user-unsubscr...@poi.apache.org
For additional commands, e-mail: user-h...@poi.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@poi.apache.org
For additional commands, e-mail: user-h...@poi.apache.org