Java平台依赖的错误(在eclipse窗口中运行,但在linux中出错)【JAVA教程】

!
也想出现在这里? 联系我们
信息

Java平台依赖的错误(在eclipse窗口中运行,但在linux中出错),第1张

概述Java平台依赖错误(在eclipse窗口中运行,但在linux中出错

我有一个java中的示例程序,在eclipse中运行完全正常,但是当我尝试在linux中使用java进行编译时,出现错误。 请帮忙。 代码结束后,我还附加了错误跟踪:

import java.io.ByteArrayinputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectinputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Arrays; public class Main { public String toStringMethod(TestObject test) { String serializedobject = \”\”; try { ByteArrayOutputStream bo = new ByteArrayOutputStream(); ObjectOutputStream so = new ObjectOutputStream(bo); so.writeObject(test); so.flush(); serializedobject = bo.toString(); } catch (Exception e) { System.out.println(e); } return serializedobject; } public TestObject toObjectMethod(String string) { String serializedobject = string; TestObject obj = null; try { byte b[] = serializedobject.getBytes(); ByteArrayinputStream bi = new ByteArrayinputStream(b); ObjectinputStream si = new ObjectinputStream(bi); obj = (TestObject) si.readobject(); } catch (Exception e) { System.out.println(e); } return obj; } public static voID main(String[] args) { Main mn = new Main(); TestObject object = new TestObject(); object.setString(10); String str = mn.toStringMethod(object); TestObject newObject = mn.toObjectMethod(str); newObject.printHello(); } } class TestObject implements Serializable{ char chars[]; String str; public String setString(int numberOfBytes) { numberOfBytes = numberOfBytes/2; chars = new char[numberOfBytes]; Arrays.fill(chars,\’a\’); str = new String(chars); return str; } public String getString() { return str; } public voID printHello() { System.out.println(\”hello tester\”); } }

错误跟踪是:java.io.StreamCorruptedException:无效的stream头:EFBFBDEF

LocalSettings如何工作?

如何在windows中显示自定义文件的缩略图?

exec()的远程脚本deBUGging输出

注册DLL时出错

在C#中使用TaskDialogIndirect

它因为字符集。 在windows默认字符集是windows-1252。 但是linux的默认字符集是UTF-8。

import java.io.ByteArrayinputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectinputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.nio.charset.Charset; import java.util.Arrays; public class Main { public String toStringMethod(TestObject test) { String serializedobject = \”\”; try { ByteArrayOutputStream bo = new ByteArrayOutputStream(); ObjectOutputStream so = new ObjectOutputStream(bo); so.writeObject(test); so.flush(); so.close(); serializedobject = bo.toString(\”windows-1252\”); System.out.println(serializedobject); } catch (Exception e) { System.out.println(e); } return serializedobject; } public TestObject toObjectMethod(String string) { String serializedobject = string; TestObject obj = null; try { byte b[] = serializedobject.getBytes(\”windows-1252\”); ByteArrayinputStream bi = new ByteArrayinputStream(b); ObjectinputStream si = new ObjectinputStream(bi); obj = (TestObject) si.readobject(); } catch (Exception e) { e.printstacktrace(); } return obj; } public static voID main(String[] args) { Main mn = new Main(); TestObject object = new TestObject(); object.setString(10); String str = mn.toStringMethod(object); TestObject newObject = mn.toObjectMethod(str); newObject.printHello(); } } class TestObject implements Serializable{ char chars[]; String str; public String setString(int numberOfBytes) { numberOfBytes = numberOfBytes/2; chars = new char[numberOfBytes]; Arrays.fill(chars,\’a\’); str = new String(chars); return str; } public String getString() { return str; } public voID printHello() { System.out.println(\”hello tester\”); } }

如果你改变字符集的工作正常。

总结

以上是内存溢出为你收集整理的Java平台依赖的错误(在eclipse窗口中运行,但在linux中出错)全部内容,希望文章能够帮你解决Java平台依赖的错误(在eclipse窗口中运行,但在linux中出错)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞131 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容