When the JDK is installed in a directory whose name ends with an exclamation mark ('!'), BreakIterator.getSentenceInstance crashes with an InternalError.
To reproduce, use this test code:
-----
import java.text.BreakIterator;
import java.util.Locale;
public class BreakIteratorTest {
public static void main(String[] args) {
BreakIterator.getSentenceInstance(Locale.ENGLISH);
}
}
-----
And run it like this (please note the '!' in the JDK path):
$ /tmp/jdk\!/jdk1.7.0_25/bin/javac BreakIteratorTest.java
$ /tmp/jdk\!/jdk1.7.0_25/bin/java -classpath . BreakIteratorTest
Exception in thread "main" java.lang.InternalError: java.io.IOException: Stream closed
at java.text.BreakIterator.createBreakInstance(BreakIterator.java:620)
at java.text.BreakIterator.getBreakInstance(BreakIterator.java:565)
at java.text.BreakIterator.getSentenceInstance(BreakIterator.java:546)
at BreakIteratorTest.main(BreakIteratorTest.java:7)
This may be one possible cause for original NetBeans bug:
https://netbeans.org/bugzilla/show_bug.cgi?id=232823
To reproduce, use this test code:
-----
import java.text.BreakIterator;
import java.util.Locale;
public class BreakIteratorTest {
public static void main(String[] args) {
BreakIterator.getSentenceInstance(Locale.ENGLISH);
}
}
-----
And run it like this (please note the '!' in the JDK path):
$ /tmp/jdk\!/jdk1.7.0_25/bin/javac BreakIteratorTest.java
$ /tmp/jdk\!/jdk1.7.0_25/bin/java -classpath . BreakIteratorTest
Exception in thread "main" java.lang.InternalError: java.io.IOException: Stream closed
at java.text.BreakIterator.createBreakInstance(BreakIterator.java:620)
at java.text.BreakIterator.getBreakInstance(BreakIterator.java:565)
at java.text.BreakIterator.getSentenceInstance(BreakIterator.java:546)
at BreakIteratorTest.main(BreakIteratorTest.java:7)
This may be one possible cause for original NetBeans bug:
https://netbeans.org/bugzilla/show_bug.cgi?id=232823