public static Object loadAnObjectXML(String path) throws FileNotFoundException { try { XMLDecoder decoder = new XMLDecoder(new BufferedInputStream(new FileInputStream(path))); Object obj = decoder.readObject(); decoder.close(); return obj; } catch (FileNotFoundException e) { e.printStackTrace(); throw e; } }
public Object read(java.io.Reader r) throws IOException, ClassNotFoundException { java.io. BufferedReader buf = new BufferedReader(r, 4096); CharBuffer arr = CharBuffer.allocate(2048); buf.mark(arr.capacity()); buf.read(arr); arr.flip(); Matcher m = Pattern.compile("<java").matcher(arr); if (m.find()) { buf.reset(); buf.skip(m.start()); } else { buf.reset(); } XMLDecoder d = new XMLDecoder(new ReaderInputStream(buf, "UTF-8")); return d.readObject(); }
/** * Decode a Java object, which is contained in the given XML * * @param xml * a XML string * @return a Java object * @throws BillingException * if the XML decoding fails */ Object decodeXml(String xml) throws BillingException { if (xml != null) { try (XMLDecoder xmlDecoder = new XMLDecoder( new ByteArrayInputStream( xml.getBytes(StandardCharsets.UTF_8)))) { return xmlDecoder.readObject(); } catch (Exception e) { throw new BillingException( "File application response decoding error."); } } else { return null; } }
/** * 读取由objSource指定的XML文件中的序列化保存的对象,返回的结果经过了List封装 * @param objSource 带全部文件路径的文件全名 * @return 由XML文件里面保存的对象构成的List列表(可能是一个或者多个的序列化保存的对象) * @throws FileNotFoundException 指定的对象读取资源不存在 * @throws IOException 读取发生错误 * @throws Exception 其他运行时异常发生 */ public static List objectXmlDecoder(String objSource) throws FileNotFoundException,IOException,Exception { List objList = new ArrayList(); File fin = new File(objSource); FileInputStream fis = new FileInputStream(fin); XMLDecoder decoder = new XMLDecoder(fis); Object obj = null; try { while( (obj = decoder.readObject()) != null) { objList.add(obj); } } catch (Exception e) { // TODO Auto-generated catch block } fis.close(); decoder.close(); return objList; }
static void test(AbstractTest object) { ByteArrayOutputStream output = new ByteArrayOutputStream(); XMLEncoder encoder = new XMLEncoder(output); encoder.setPersistenceDelegate( object.getClass(), new DefaultPersistenceDelegate(new String[] {"value"})); encoder.writeObject(object); encoder.close(); System.out.print(output); ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray()); XMLDecoder decoder = new XMLDecoder(input); AbstractTest result = (AbstractTest) decoder.readObject(); decoder.close(); if (object.getValue() != result.getValue()) throw new Error("Should be " + object); }
/** * This is entry point to start testing. * * @param security use {@code true} to start * second pass in secure context */ final void test(boolean security) { byte[] array = getFieldValue("XML").getBytes(); // NON-NLS: the field name ByteArrayInputStream input = new ByteArrayInputStream(array); XMLDecoder decoder = new XMLDecoder(input); decoder.setExceptionListener(this); validate(decoder); try { throw new Error("unexpected object" + decoder.readObject()); } catch (ArrayIndexOutOfBoundsException exception) { // expected exception } decoder.close(); if (security) { System.setSecurityManager(new SecurityManager()); test(false); } }
@Override protected void validate(XMLDecoder decoder) { Number[] numbers = getArray(Number.class, 2, decoder.readObject()); if (!numbers[0].equals(Byte.valueOf("-111"))) { // NON-NLS: hardcoded in XML throw new Error("unexpected byte value"); } if (!numbers[1].equals(Long.valueOf("1111"))) { // NON-NLS: hardcoded in XML throw new Error("unexpected long value"); } Object[] objects = getArray(Object.class, 3, decoder.readObject()); if (objects[0] != null) { throw new Error("unexpected first value"); } if (!objects[1].equals("Hello, world!")) { // NON-NLS: hardcoded in XML throw new Error("unexpected string value"); } if (objects[2] != null) { throw new Error("unexpected last value"); } }
@Override protected void validate(XMLDecoder decoder) { JPanel panel = (JPanel) decoder.readObject(); if (2 != panel.getComponents().length) { throw new Error("unexpected component count"); } JButton button = (JButton) panel.getComponents()[0]; if (!button.getText().equals("button")) { // NON-NLS: hardcoded in XML throw new Error("unexpected button text"); } if (SwingConstants.CENTER != button.getVerticalAlignment()) { throw new Error("unexpected vertical alignment"); } JLabel label = (JLabel) panel.getComponents()[1]; if (!label.getText().equals("label")) { // NON-NLS: hardcoded in XML throw new Error("unexpected label text"); } if (button != label.getLabelFor()) { throw new Error("unexpected component"); } }
/** * To object. * * @param xml * the xml * @return the object */ public static Object toObject(final String xml) { // XStream x = createXStream(); // return x.fromXML(xml); // try { final ByteArrayInputStream out = new ByteArrayInputStream(xml.getBytes()); final XMLDecoder encoder = new XMLDecoder(out); final Object object = encoder.readObject(); // encoder.close(); return object; // } catch (Exception e) { // System.err.println("Failed to decode object : \n" + xml); // return null; // } // return null; }
public List<HttpPostForm> load() { final List<HttpPostForm> list = new ArrayList<>(); final FileObject fo = getSaveFolder(); final File fileFolder = FileUtil.toFile(fo); final File[] files = fileFolder.listFiles(); for (int i = 0; i < files.length; i++) { final File aFile = files[i]; try (FileInputStream fis = new FileInputStream(aFile)) { XMLDecoder xmlDec = new XMLDecoder(fis); HttpPostForm hpf = (HttpPostForm) xmlDec.readObject(); list.add(hpf); } catch (IOException ex) { ErrorManager.getDefault().notify(ex); } } return list; }
public static CheckList read(File file) throws Exception { XMLDecoder decoder = new XMLDecoder(new FileInputStream(file)); try { return (CheckList) decoder.readObject(); } finally { decoder.close(); } }
@Override public void setText(String code) { ByteArrayInputStream stream = new ByteArrayInputStream(code.getBytes(StandardCharsets.UTF_8)); XMLDecoder decoder = new XMLDecoder(stream); checklist = (CheckList) decoder.readObject(); decoder.close(); checkListView.setCheckListNode(new CheckListFormNode(checklist, Mode.EDIT)); }
@Test public void getObjectFromXML_closeStream() throws Exception { // given ResultSet rs = mock(ResultSet.class); InputStream is = mock(InputStream.class); doReturn(is).when(rs).getBinaryStream(eq("value")); XMLDecoder decoder = mock(XMLDecoder.class); doReturn(decoder).when(dbtask).newXmlDecoder(any(InputStream.class)); // when dbtask.getObjectFromXML(rs, String.class); // then verify(dbtask).closeStream(is); }
@Override public <E> E loadConfigFromFile(String fileName, Class<E> type) throws Exception { try(XMLDecoder xmlDecoder = new XMLDecoder(new BufferedInputStream(new FileInputStream(getFileForFilename(fileName))), null, null, type.getClassLoader())) { Object theObject = xmlDecoder.readObject(); if(type.isInstance(theObject)) { return type.cast(theObject); } else { LOGGER.warn("Unknown file format {}. Not {}.", fileName, type.getName()); throw new Exception("Unknown file format"); } } catch (RuntimeException e) { throw new Exception(e); } }
public ReadOnlyURLMapper() { if (LASTPLATFORMS_FILE.exists()) { try { XMLDecoder decoder = new XMLDecoder(new FileInputStream(LASTPLATFORMS_FILE)); String[] last = (String[]) decoder.readObject(); if (last != null) { reference.set(last); } } catch (Exception ex) { } } }
/** * Returns the owner of the owner document handler * as a value of <java> element. * * @return the owner of the owner document handler */ private Object getValue() { Object owner = getOwner().getOwner(); if ((this.type == null) || isValid(owner)) { return owner; } if (owner instanceof XMLDecoder) { XMLDecoder decoder = (XMLDecoder) owner; owner = decoder.getOwner(); if (isValid(owner)) { return owner; } } throw new IllegalStateException("Unexpected owner class: " + owner.getClass().getName()); }
private Object readObject(byte[] array) { ByteArrayInputStream input = new ByteArrayInputStream(array); XMLDecoder decoder = new XMLDecoder(input); decoder.setExceptionListener(this); initialize(decoder); Object object = decoder.readObject(); decoder.close(); return object; }
private Object decode(byte[] array) { ByteArrayInputStream in = new ByteArrayInputStream(array); XMLDecoder decoder = new XMLDecoder(in, null, this, this); Object object = decoder.readObject(); validate(object); decoder.close(); return object; }
private static void test(Locale locale, byte[] data) { Locale.setDefault(locale); System.out.println("locale = " + locale); XMLDecoder decoder = new XMLDecoder(new ByteArrayInputStream(data)); System.out.println("object = " + decoder.readObject()); decoder.close(); }
public static void main(String[] args) { Test6338070 test = new Test6338070(); InputStream stream = new ByteArrayInputStream(DATA.getBytes()); new XMLDecoder(stream, test).close(); if (test.message == null) { throw new Error("owner's method is not called"); } }
@Override protected void validate(XMLDecoder decoder) { for (int i = 0; i < 3; i++) { if (decoder != decoder.readObject()) { throw new Error("decoder instance expected"); } } }
@Override protected void validate(XMLDecoder decoder) { validate(0, decoder.readObject()); validate((int) Byte.MAX_VALUE, decoder.readObject()); validate((int) Byte.MIN_VALUE, decoder.readObject()); validate((int) Short.MAX_VALUE, decoder.readObject()); validate((int) Short.MIN_VALUE, decoder.readObject()); validate(Integer.MAX_VALUE, decoder.readObject()); validate(Integer.MIN_VALUE, decoder.readObject()); }
@Override protected void validate(XMLDecoder decoder) { validate(0.0f, decoder.readObject()); validate(100.0f, decoder.readObject()); validate(-1e15f, decoder.readObject()); validate(100e-20f, decoder.readObject()); }
@Override protected void validate(XMLDecoder decoder) { if (!Boolean.TRUE.equals(decoder.readObject())) { throw new Error("true expected"); } if (!Boolean.FALSE.equals(decoder.readObject())) { throw new Error("false expected"); } }
@Override protected void validate(XMLDecoder decoder) { decoder.setOwner(this); if (this != decoder.readObject()) { throw new Error("owner should be the same"); } if (this.message == null) { throw new Error("owner's method is not called"); } }
@Override protected void validate(XMLDecoder decoder) { validate(decoder.readObject()); validate(decoder.readObject(), null); validate(decoder.readObject(), "single"); validate(decoder.readObject(), "first", "second", "third"); }