为啥我不能将UTF写入RMS?

Posted

技术标签:

【中文标题】为啥我不能将UTF写入RMS?【英文标题】:How come I can't writeUTF to RMS?为什么我不能将UTF写入RMS? 【发布时间】:2015-07-08 15:40:14 【问题描述】:

我正在使用 J2ME 开发应用程序。 该项目是将整数和字符串数据存储到RMS中。

错误显示out.writeUTF(i.getNumberPlate()); 不起作用。

那么有什么办法可以解决这个问题吗?编译器甚至无法编译项目。

public class CarparkReservationParser 
    public static byte[] parseObj(CarparkReservation i) 
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream out;

        try 

            out = new DataOutputStream(baos);

            // write into string
            out.writeInt(i.getCarpark());
            out.writeUTF(i.getNumberPlate());
            out.writeUTF(i.getStudentID());
            out.writeUTF(i.getName());
            out.writeInt(i.getYear());
            out.writeInt(i.getMonth());

            // baos.toByteArray();
         catch (IOException e) 
        

        // convert to byte array
        return baos.toByteArray();

    

【问题讨论】:

如果您告诉我们编译器给出的错误可能会有所帮助。 看看getNumberPlate()的返回类型——它可能不会返回String,这是writeUTF需要的类型。 【参考方案1】:

@jack 的评论是正确的。 writeUTF 接收一个字符串作为参数。如果getNumberPlate() 没有返回String,您必须更改您的代码。例如:

out.writeUTF(i.getNumberPlate().toString());

【讨论】:

以上是关于为啥我不能将UTF写入RMS?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能将带有破折号的字符串转换为 wstring?

为啥我不能从 Android 上的串行端口打开/写入?

java中输出流不关闭为啥不能写入

为啥我不能将字符串添加到 ByteBuffer?

为啥 GL_RASTERIZER_DISCARD 不能让我写入模板缓冲区?

为啥我的苹果电脑的文件不能拷贝到移动硬盘里