【问题标题】:Unable to convert from string to byte array无法从字符串转换为字节数组
【发布时间】:2016-10-28 10:48:30
【问题描述】:

我正在制作一个字数统计程序,我想在文件末尾写下总字数。当我使用 FileOutputStream 时,我必须将我的字符串转换为字节数组。但我得到一个编译时错误。请帮我解决这个问题。

Byte[] msg;
msg="Total Number of words are: ".getBytes();

我得到这样的编译时错误:

错误:不兼容的类型:byte[] 无法转换为 Byte[]

我也在使用 write 方法并像这样传递一个字节数组:

fout.write(msg);

其中 fout 是以附加模式打开的文件输出流的对象。我收到这样的错误:

错误:找不到合适的写入方法(字节[])。

我已经导入了java.io.*;

【问题讨论】:

    标签: java file bytearray


    【解决方案1】:

    你犯了一个菜鸟错误。您正在使用 Byte[ ] 存储从 String.getBytes() 方法返回的字节。 getBytes() 方法返回原始字节数组而不是字节对象。将左侧的Byte[ ] 替换为byte[ ]。它将 100% 工作。

    【讨论】:

    • 乐于帮助 :) 如果对您有帮助,请接受答案。
    【解决方案2】:

    原始类型byte和包装类Byte之间存在区别

    您应该将代码更改为byte[] msg = ...,因为String#getBytes() 返回一个byte 基元数组

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 2018-05-25
      • 2021-11-11
      • 1970-01-01
      相关资源
      最近更新 更多