From: SourceForge.net <no...@so...> - 2003-11-05 13:05:38
|
Bugs item #835571, was opened at 2003-11-04 10:14 Message generated for change (Settings changed) made by egonw You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120024&aid=835571&group_id=20024 Category: cdk-io module Group: None Status: Open Resolution: None Priority: 5 Submitted By: Chris Pudney (cpudney) >Assigned to: Egon Willighagen (egonw) Summary: MDLReader fails with StringReader Initial Comment: G'day, When MDLReader is used with a StringReader it fails with the following exception: Exception in thread "main" org.openscience.cdk.exception.CDKException: Error while parsing line 1: null in property block. at org.openscience.cdk.io.MDLReader.readMolecule(MDLReader.java:442) at org.openscience.cdk.io.MDLReader.readChemModel(MDLReader.java:158) at org.openscience.cdk.io.MDLReader.readChemFile(MDLReader.java:127) at org.openscience.cdk.io.MDLReader.read(MDLReader.java:108) at CDKMDLReaderBug.main(CDKMDLReaderBug.java:43) Attached is an example program that generates this error. I think the problem is the use of input.ready() to try to determine when the end of the input stream has been reached. However, input.ready() is always true when the underlying stream is from a StringReader, even when at the end of the stream. I believe the correct way to determine when the end of the stream has been reached is to check whether input.readLine() == null. Regards, Chris. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=120024&aid=835571&group_id=20024 |