print_test('writing', 2) sername = os.path.join(sys.prefix, "test.ser") fout = io.ObjectOutputStream(io.FileOutputStream(sername)) print_test('Python int', 3) fout.writeObject(object1) print_test('Python list', 3) fout.writeObject(object2) print_test('Python instance', 3) fout.writeObject(object3) print_test('Java instance', 3) fout.writeObject(object4) fout.close() fin = io.ObjectInputStream(io.FileInputStream(sername)) print_test('reading', 2) iobject1 = fin.readObject() iobject2 = fin.readObject() iobject3 = fin.readObject() iobject4 = fin.readObject() fin.close() #print iobject1, iobject2, iobject3, iobject3.__class__, iobject4 print_test('Python int', 3) assert iobject1 == object1 print_test('Python list', 3) assert iobject2 == object2
class Test: text = Data() class Factory: def createTest(x): return Test() factory = Factory() foo = factory.createTest() from java import io import sys filename = "test101.out" fout = io.ObjectOutputStream(io.FileOutputStream(filename)) fout.writeObject(foo) fout.close() fin = io.ObjectInputStream(io.FileInputStream(filename)) foo = fin.readObject() fin.close() support.compare(foo, "<(__main__|test101).Test instance") support.compare(foo.text, "<(__main__|test101).Data instance") support.compare(foo.text.data, "Hello World")
def loadObject(fname="jython.bin"): ins=io.ObjectInputStream(io.FileInputStream(fname)) x=ins.readObject() ins.close() return x