Tag: objectoutputstream

ObjectOutputStream永远挂起

我有一个使用SSLSocket连接到服务器的客户端。 接下来,我尝试使用ObjectOutputStream oos = new ObjectOutputStream(sslsocket.getOutputStream());创建一个OOS ObjectOutputStream oos = new ObjectOutputStream(sslsocket.getOutputStream()); 如果一切都在服务器端运行良好,这很好。 但是,我想在客户端尝试创建ObjectOutputStream,但如果在60秒内没有发生,请记录错误并继续处理。 我没有看到任何超时选项。 有关如何做到这一点的任何例子? SSLSocket sslsocket; try { System.setProperty(“javax.net.ssl.trustStore”, ); System.setProperty(“javax.net.ssl.trustStorePassword”, ); SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); sslsocket = (SSLSocket) sslsocketfactory.createSocket(InetAddress.getLocalHost(), ); } catch (Throwable e) { logger.logError(e.getMessage()); return null; } // This is where it hangs forever ObjectOutputStream oos = new ObjectOutputStream(sslsocket.getOutputStream()); oos.flush(); […]

将BitSet写入java中的文件

我有一个BitSet,并希望将其写入文件 – 我遇到了使用writeObject方法使用ObjectOutputStream的解决方案。 我查看了java API中的ObjectOutputStream,看到你可以编写其他东西(byte,int,short等) 我试着检查这个类,所以我尝试使用以下代码将一个字节写入文件,但结果给了我一个7字节而不是1字节的文件 我的问题是文件中的前6个字节是什么? 他们为什么在那里? 我的问题与BitSet有关,因为我不想开始将大量数据写入文件,并意识到我在文件中插入随机字节而不知道它们是什么。 这是代码: byte[] bt = new byte[]{‘A’}; File outFile = new File(“testOut.txt”); FileOutputStream fos = new FileOutputStream(outFile); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.write(bt); oos.close(); 谢谢你的帮助 阿夫纳

序列化之间的区别是什么,只是将对象存储在磁盘上?

我对此感到困惑。 从执行Serializable类开始,我们需要使用类FileOutputStream , ObjectOutputStream等类。 那么为什么我们不只是使用这些类来做一些事情,比如将对象输出到文件并从文件中输入对象以直接维护对象的状态? 我们为什么要首先实现Serializable然后做同样的事情?

如何将Object转换为Inputstream

如何将java对象转换为InputStream?

不推荐使用’java.io.ObjectOutputStream’ – Intellij IDEA中的错误

我有这个代码: import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.util.Date; public class EmployeeProcessor { public static void main(String[] args) { Employee employee = new Employee(); employee.lastName = “Smith”; employee.firstName = “Adam”; employee.id = 123456789; employee.salary = 50000; try(FileOutputStream fileOutStr = new FileOutputStream(“Employee.ser”); ObjectOutputStream objectOutStr = new ObjectOutputStream(fileOutStr)) { objectOutStr.writeObject(employee); System.out.println(“An employee is externalized into the file […]

Android和ObjectOutputStream到资源文件

我是Android开发的新手,我的第一个项目是一个简单的游戏,它有一个显示器和一个逻辑部分。 我想为游戏添加一个保存function,但我遇到了这个问题。 我想这样做,使用ObjectOutputStream(只包含重要部分) String filename = “res/raw/testfile.txt”; try { FileOutputStream fileout = new FileOutputStream(filename); ObjectOutputStream out = new ObjectOutputStream(fileout); out.writeObject(…logic objects…); } catch (Exception ex) { //show the error message } 但我总是得到一个错误信息,说“没有这样的档案……”。 即使我在原始目录中创建“testfile.txt”,它也会出现相同的错误。 请帮帮我,我做错了什么?

在java中流式传输后不保存对象属性更改

更新:好的,所以我将部分代码变灰并找到导致问题的原因。 我在这里添加了3行代码,注释“这是导致问题的添加代码”。 但我仍然不明白为什么它会影响结果。 我正在开发一个客户端 – 服务器应用程序,它通过ObjectOutputStream和ObjectInputStream发送数据对象。 我注意到一些奇怪的东西让我觉得我可能不完全理解对象引用。 在客户端,我有一个创建并返回User对象的方法: private static User createNewUser() { User newUser = new User(); newUser.name = “Jim”; newUser.phone = “054-6885644”; .. return newUser; } 我使用此方法创建一个User对象,更改其中一个属性并将其发送到服务器: User user = createNewUser(); out.writeObject(user); // this is the added code that causes the problem out.flush(); // this is the added code that causes the problem […]

编写和读取servlet时的java.io.EOFException

我在applet端有以下代码: URL servlet = new URL(appletCodeBase, “FormsServlet?form=requestRoom”); URLConnection con = servlet.openConnection(); con.setDoOutput(true); con.setDoInput(true); con.setUseCaches(false); con.setRequestProperty(“Content-Type”, “application/octet-stream”); ObjectOutputStream out = new ObjectOutputStream(con.getOutputStream()); out.writeObject(user);//user is an object of a serializable class out.flush(); out.close(); ObjectInputStream in = new ObjectInputStream(con.getInputStream()); status = (String)in.readObject(); in.close(); if(“success”.equals(“status”)) { JOptionPane.showMessageDialog(rootPane, “Request submitted successfully.”); } else { JOptionPane.showMessageDialog(rootPane, “ERROR! Request cannot be made […]

java.io.StreamCorruptedException:类型代码无效:00

所以基本上我正在写一个客户端 – 服务器多人游戏。 我有一个SeverCommunicationThread,如果他收到RequestForGame就会创建一个gameThread来创建gameThread。 当我发送一个RequestForGameexception时抛出java.io.StreamCorruptedException:无效的类型代码:00我假设它是因为两个线程都试图读取相同的ObjectInputStream,我对它的工作方式我不太了解,我只知道如何使用它。 你能帮我理解问题是什么以及如何解决? 谢谢 :) public class ServerCommunicationThread extends Thread{ private Socket connectionSocket; private ObjectInputStream inFromClient; private ObjectOutputStream outToClient; private String nickname; private ServerModelManager model; public ServerCommunicationThread(Socket connectionSocket, ServerModelManager model) throws IOException { this.connectionSocket = connectionSocket; inFromClient = new ObjectInputStream(connectionSocket.getInputStream()); outToClient = new ObjectOutputStream(connectionSocket.getOutputStream()); this.model = model; start(); } public void run() […]