无法从字符串转换为字节数组

时间:2016-06-26 08:41:52

标签: java file bytearray

我正在制作一个wordcount程序,我想在文件末尾写下总字数。因为我正在使用FileOutputStream我将我的字符串转换为Byte数组。但我得到编译时错误。请帮帮我。

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

我得到的编译时错误如下:

  

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

我也正在使用write方法并传递一个字节arraylike:

fout.write(msg);

其中fout是在追加模式下打开的fileoutputstream的对象。我收到这样的错误:

  

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

我已导入java.io.*;

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

基本类型"MSG_ID"与包装类byte之间存在差异

您应该将代码更改为Byte,因为byte[] msg = ...会返回String#getBytes()原语数组