如何使用datainput stream从文件中读取字节数组,并在java中打印字节数组
我存储了一个字节数组byte[]testByte;testByte=newbyte[]{3,4}到一个文件中,现在我需要从文件中读取并将字节数组分配给一个变量并打印它 我已经完成了以下代码,但无法打印字节数组如何使用datainput stream从文件中读取字节数组,并在java中打印字节数组,java,arrays,datainputstream,Java,Arrays,Datainputstream,我存储了一个字节数组byte[]testByte;testByte=newbyte[]{3,4}到一个文件中,现在我需要从文件中读取并将字节数组分配给一个变量并打印它 我已经完成了以下代码,但无法打印字节数组 public static void main(String[] args) throws IOException { InputStream is = null; DataInputStream dis = null; try{ // create input
public static void main(String[] args) throws IOException {
InputStream is = null;
DataInputStream dis = null;
try{
// create input stream from file input stream
is = new FileInputStream("c:\\test.txt");
// create data input stream
dis = new DataInputStream(is);
// count the available bytes form the input stream
int count = is.available();
// create buffer
byte[] bs = new byte[count];
// read data into buffer
dis.read(bs);
}
现在,如何将缓冲区中的内容存储到数组中
请帮助解决此问题您可以使用新字符串存储bs缓冲区的内容 编辑:对评论的答复: 当我们创建新字符串时,我们用byte[]值实例化一个新字符串。 但是,由于您已经有一个字节数组,那么您可以使用以下命令再次在其上存储字符串对象的值:
bs = content.getBytes();
事先,不要担心字节的打印是否不同,比如
[B@199c55a
[B@faa824
这只是给对象的一个名称,但两者的值都相同。将bs缓冲到数组中bs是一个数组您的意思是什么?我无法打印字节数组?您得到了哪些结果?或者您不知道如何打印数组?如果需要打印值,我们如何将结果再次存储回字节数组它取决于你想如何打印它。我的意思是,值在一个变量上,所以你可以用多种方式调用它。当然,这里我在一个静态块中创建了它,但它很容易更改。
bs = content.getBytes();