У меня есть временный файл
File myTmpFile = File.createTempFile( prefix, suffix );
, представляющий xml, который был экспортирован с помощью
Preferences.exportSubtree(OutputStream);
Теперь я хочу импортировать этот файл с:
Preferences.importPreferences( new FileInputStream( myTmpFile ));
Но поток выдает IOException с сообщением («слишком большой результат»).
Что это значит?Как я могу это исправить?
java.io.IOException: Result too large
at java.io.FileInputStream.read(Native Method)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager$RewindableInputStream.read(XMLEntityManager.java:2932)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:704)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:772)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at java.util.prefs.XmlSupport.loadPrefsDoc(XmlSupport.java:233)
at java.util.prefs.XmlSupport.importPreferences(XmlSupport.java:182)
at java.util.prefs.Preferences.importPreferences(Preferences.java:1236)
at MyPreferences.importPrefs(MyPreferences.java:322)
public static void importPrefs(File file){
FileInputStream is = null;
try {
is = new FileInputStream(file);
java.util.prefs.Preferences.importPreferences( is );
} catch( FileNotFoundException e ) {
} catch( IOException e ) {
e.printStackTrace();
} catch( InvalidPreferencesFormatException e ) {
} finally {
if (is != null) {
try {
is.close();
} catch( IOException e ) {
}
}
}
}