嗨,我想在Java中测试客户端和服务器之间的连接。例如,我想将一个对象从客户端发送到服务器。该对象是我构建的用户。
如果我启动服务器和客户端,我会得到这样的错误:
run:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:209)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.net.SocketInputStream.
在Java中,有时(实际上是相当多的)我们会遇到两个对象指向同一个对象的情况。现在,如果我们将它们单独序列化,那么序列化后的表单具有对象的单独副本是非常合适的,因为应该可以打开一个而不打开另一个。但是,如果我们现在将它们都反序列化,我们会发现它们仍然是分开的。有没有办法把它们联系起来呢?
示例如下。
public class Example {
private static class ContainerClass implements java.io.Serializable {
private ReferencedClass obj;
public ReferencedClas
import java.util.HashMap;
import java.io.*;
import java.util.*;
public class Fegan implements Comparable{
HashMap<String, Integer> cart = new HashMap<String, Integer>();
List list = new ArrayList<FoodItems>();
int x =0;
public void addToCart(FoodItems f)
{
cart.put(f.name, f.va
我在一个final类中有一个肯定要初始化的字段。当我序列化和反序列化相应的对象图时,我会得到一个NPE,因为这个字段在hashCode()方法中使用,但显然还没有被读取。我创建了一个最小的测试用例,其中也包含了serialize()/deserialize()方法(如果这些方法是错误的话),但我似乎无法理解(底层)问题是什么或如何解决它。
public class TestSerializerTest {
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestSerialize
我有这个异常,我不明白为什么会抛出它,或者我应该如何处理它。
try {
os.writeObject(element);
} catch (IOException e) {
e.printStackTrace();
}
其中element是一个包含其他TransformGroup的TransformGroups,它是Atom类的一个实例:
public class Atom extends Group implements Serializable{
float pozX,pozY;
Group group= new Group();
Color
我有个很难理解的问题。因此,我创建了两个不同的项目,并决定测试我的套接字应用程序,它试图通过网络发送接口。这是我的客户端代码:
package calculable;
import java.io.*;
import java.net.*;
public class ClientToSendCalculable
{
public ClientToSendCalculable(int port)
{
try
(
Socket s = new Socket("localhost", port);
我对java很陌生,所以我想知道如何循环遍历我的Set并打印它们的名字。我的问题主要是基于如何循环通过对象,因为我不确定。
我之所以会感到困惑,是因为如果你看看testingProgram.java。第一行是Set<Fruit> fruit1 = new ArrayListSet<Fruit>();。fruit1的类型是Set<Fruit>。我习惯于看到类似ArrayListSet<Fruit> fruit1 = new ArrayListSet<Fruit>();的东西。其中fruit1的类型实际上是ArrayListSet<
我基本上是想在Java中序列化一个ArrayList,下面是显然需要更改的代码。(编辑:粘贴整个类)
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.ArrayList;
import javax.swing.*;
public class GraphEditSerial extends JFrame{
//stores all dots on the MainPanel
private ArrayList<Circle> circles = new
class test
{
public static void main(String[] args)
{
String s1 = new String("JAVA");
String s2 = new String("JAVA");
String s3 = new String("JAVA");
}
}
这里创建了多少string对象?为什么?
我对在Java中使用流和文件的概念还很陌生。
我正在写一段代码,我有一个非常简单的服务器,它正在侦听传入的文件。
然后我有一个处理传入文件的处理程序。
现在,下面是代码(去掉try/catch块)
ObjectInputStream in;
in = new ObjectInputStream(new BufferedInputStream(
clientSocket.getInputStream()));
File f = new File(fileName);
int byteCount = in.readInt();
byte[] fileArray = (byte[
在java中不能同时从文件中读取对象和数据。m能够将对象写入文件,但不能提取所有对象。只提取第一个对象,并且不能检索对象之后的数据。
import java.io.*;
import java.util.*;
class writeobj implements Serializable
{
public String name;
public long size;
}
class FileLists
{
public static void main(String[] args) throws Exception
{
try{
File
我用Java做了一个序列化测试。我发现Java序列化可以正确地处理循环引用。但是Java序列化如何解决循环引用问题呢?
以下代码工作正常:
public class SerializableTest {
static class Employee implements Serializable{
private static final long serialVersionUID = 1L;
String name;
int age;
Employee leader;
public void s
我正在为Hadoop二级排序实现我自己的Writable,但是在运行作业时,Hadoop一直将EOFException抛到我的readFields方法中,我不知道它有什么问题。
错误堆栈跟踪:
java.lang.Exception: java.lang.RuntimeException: java.io.EOFException
at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:492)
at org.apache.hadoop.mapred.LocalJobRunner$J
我有一个加载/重新加载JComboBox的方法,我使用一个名为hiddenItem的类将隐藏的值附加到显示的值中。起初加载JComboBox运行良好,但是在JComboBox重新加载之后,我得到JComboBox中的值不是hiddenItem,那么为什么在重新加载之后没有添加hiddenItem呢?也许我需要以某种方式重置或清理hiddenItem类?谢谢!
hiddenItem.java:
public class hiddenItem {
String displayValue;
Integer hiddenValue;
//Constructor
pu
我正在尝试写一个包含不同对象的ArrayList到一个文件中。这是我的ArrayList:
ArrayList<Person> personList = new ArrayList<Person>();
private Person theCaptain;
void init(){
//Adding persons to the list
personList.add(new Coach("Tesan de Boer", "Vieruslaan 3b", "0689337554"))
它在客户端代码的最后一行与代码一起出错。java.io.StreamCorruptedException:无效的流头: 36353137。在此之前,我还没有对流做任何事情,所以我不确定是什么导致了ObjectInputStream的问题。
服务器类正常工作,并遵循我为其设置的行为,只有客户端类才是错误的。
我想问题在一开始可能是因为溪流没有被冲过,但是冲水并没有解决问题。
除此之外,由于这个错误在代码中发生得这么早,我不知道该添加什么来修复它。
客户类-
import java.io.*;
import java.net.*;
public class tcpClient {
in
下面是我得到的错误:
java.lang.StackOverflowError
at apple.awt.CGraphicsDevice.getScreenInsets(Native Method)
at apple.awt.CGraphicsDevice.getScreenInsets(CGraphicsDevice.java:673)
at apple.awt.CToolkit.getScreenInsets(CToolkit.java:741)
at java.awt.Window.init(Window.java:394)
at java.awt
我的应用程序崩溃了,我不明白为什么。这个问题似乎出现在json阅读器模块中。自从我修改了一些我记不起来的东西之后,它就开始工作了。请帮我找回错误。
public class Home extends ActionBarActivity implements OnTaskComplete {
LinearLayout wrapper = null;
Context context = this;
public Bitmap imageHandler;
@Override
public void callBackFunction(Bitmap imag
当我运行下面的代码时,我得到了这个错误;
Exception in thread "AWT-EventQueue-0" java.lang.Error: Structure.getFieldOrder() on class javaapplication2.NewJFrame$APPBARDATA returns names ([cbSize, hWnd, jCallbackMessage, jEdge, rc, sParam]) which do not match declared field names ([])
at com.sun.jna.Structure.
我不知道为什么会发生这种情况,它似乎在创建新对象和初始化对象之间处于一个恒定的循环中。
public class App {
Character hero = new Character();
charCreation charCreation = new charCreation();
public static void main(String [] args){
App app = new App();
app.run();
}
void run(){
charCreation.charCreate();
}
我试图用ObjectOutputStream从SWT打开/保存一个文本对象。但不起作用。谁有主意,为什么?
public static void read(String fileName, Text textField) {
int c=0;
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(fileName));
c= in.readInt();
textField = (Text) in.readObject();
在线程"main“中获取异常的java.base/java.lang.String.compareTo(String.java:133):无法将类java.lang.Integer转换为类java.lang.String (java.lang.Integer和java.lang.String位于加载程序‘引导程序’的模块java.base中),在java.base/java.util.TreeMap.put(TreeMap.java:806) at java.base/java.util.TreeMap.put(TreeMap.java:534) at java.base/java的j