例如: String source="This is the file content\n"+"a new line\n";
byte buf[]=source.getBytes();
System.out.println(new String(buf));
中的new String(buf)是什么意思?为什么要这样才能显示输出buf的内容,buf不是数组么?为什么试着用buf[]就不行呢?
byte buf[]=source.getBytes();
System.out.println(new String(buf));
中的new String(buf)是什么意思?为什么要这样才能显示输出buf的内容,buf不是数组么?为什么试着用buf[]就不行呢?
buf是字节数组,自己是Java存储任何数据的原始单位
但是如果你想将这个字节数组拼成一个字符串输出,那么就用 new String(byte[]) 方法获得拼出来的字符串。
这句已经把字符串source转换成了字节数组,如果直接输出System.out.println(buf[]),必须用循环
for(int i=0;i<buf.length;i++) {
System.out.println(buf[i]);
}
程序按字节解析,会依次输出第个字符的ascii码值
如果你想一次输出整个字符串,就必须再把字节数组转换成字符串
用new String