String都是一样的。不存在中文英文的问题。
你所说的串行化是指什么?是Serializable吗?

解决方案 »

  1.   

    你可以用调试的方法看看那个String 到底是什么。说不定从中你可以找到答案!
      

  2.   

    你说的是序列化么,如果是的话在网络传输中就会有问题,
    不过java中Swing组件都已经实现了序列化,除非是你自己定义的对象需要实现序列化接口。
    你说的中英文应该是没问题
      

  3.   

    你最好定义一个类class XXXXX extends JEditorPane implements java.io.Serializable{
    }
      

  4.   

    我说的串行化是Serializable,他和序列化是一个意思把?
    我没有在网络上传输.
    我是定义了一个类,其中有几个String 的字段和一个JEditorPane字段,我把这个类用ObjectOutputStream写到文件里啊,当我在JEditorPane里写的是英文的时候就可以写到文件中,如果里面包含中文就说我没有Serializable,其他的几个字段都没有问题的,而且里面是中文的.这个问题捆了我好几天,我就是想 不明白,我现在用String把JEditorPane代替了,取出来再赋给JEditorPane就没有问题,不过这样的话就会失去以前对他们的效果处理啊.我是在做文本处理的小程序.
      

  5.   

    我查一句
    我在做一个相关的程序,涉及到映象问题,可以查看类的内部方法,
    但是我现在只能访问包中的类,如果不在包中,救出错
    例如:我访问“C:\hello.class”,就会出现notfoundclass 的异常
    请楼主和过客帮帮忙
      

  6.   

    这个我没有做过啊,实在抱歉.我觉得可能是你的路径有问题,没有在CLASSPATH中包含进 去这个类,你加上路径再试试看怎么样.
      

  7.   

    我已经做了一个小实验,代码如下:
    package test;import java.io.*;
    import java.awt.BorderLayout;
    import java.awt.event.*;
    import javax.swing.*;
    public class Test {
      static JEditorPane editor = new JEditorPane();  public static void main(String agrs[]){
        JFrame  frame = new JFrame();
        JButton write = new JButton("write");
        JButton read = new JButton("read");
        read.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent e){
            File file = new File("test.tt");
            try{
              ObjectInputStream in = new ObjectInputStream(
                  new FileInputStream(file));
              editor = (JEditorPane)in.readObject();
              System.out.println(editor.getText());
            }catch(Exception ex){
              System.out.println("has a error!");
            }
          }
        });
        write.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent e){
            File file = new File("test.tt");
            try{
              ObjectOutputStream out = new ObjectOutputStream(
                  new FileOutputStream(file));
              out.writeObject(editor);
            }catch(FileNotFoundException ex){
              System.out.println("has a FileNotFoundException!");
            }catch(IOException ex){
              ex.printStackTrace();
              System.out.println("has a IOException!");
            }
          }
        });
        frame.getContentPane().setLayout(new BorderLayout());
        frame.getContentPane().add(editor,BorderLayout.CENTER);
        frame.getContentPane().add(read,BorderLayout.NORTH);
        frame.getContentPane().add(write,BorderLayout.SOUTH);
        frame.setSize(500,400);
        frame.setVisible(true);
      }
    }
    如果我没有设置内容类型他就出现这个错误:
    java.io.NotSerializableException: javax.swing.text.GapContent$StickyPosition
    如果我设置了以下两种就出现下面的错误:
    editor.setContentType("UTF-8");
    editor.setContentType("ISO-8859-1");
    java.io.NotSerializableException: java.lang.Object
    都把我搞晕了,到底哪里有问题啊?
      

  8.   

    应该是你环境的问题,我已经测试过,在我电脑上,是可以run的,而且没有出错信息!
      

  9.   

    你试过了在里面写中文的情况了吗?
    我是用的JBuilder9,你用的什么环境啊?
    真的和我的环境有关的话,我连测试都不知道怎么做了啊,真郁闷!
    这个程序里还有个问题,不知道你有没有注意到,这个好象是虚拟机的问题,也是我没有掌握好java的句柄啊,我之所以在read按钮事件中加了一句System.out.println(editor.getText());就是因为JEditorPane中的内容不能再读取了,editor指象的对象已经不再是以前的了,为什么就中断了呢?这个句柄又不是指象空的地方.你能帮我解释一下吗?
    先谢谢了!
      

  10.   

    "这个程序里还有个问题,不知道你有没有注意到,这个好象是虚拟机的问题,也是我没有掌握好java的句柄啊,我之所以在read按钮事件中加了一句System.out.println(editor.getText());就是因为JEditorPane中的内容不能再读取了,editor指象的对象已经不再是以前的了,为什么就中断了呢?这个句柄又不是指象空的地方."
    我知道这个问题的答案了,真晕,前两天刚犯了这样的错误,没有想到还是句柄的问题,我真是太笨了,太疏忽了,这样的问题不经过大脑就拿来问,还麻烦大家,真 不好意思.
       不过那个串行化还是没有搞明白.