还有点不明白下面一句 x=ff.read(xx,0,5000); str=new String(xx,0,x,"default"); 里的X应该是被创建的数组包含的字节个数呀,那不是很容易就大于255 ,怎么回事呢? 下面是个读源文件的代码import java.io.*; public class streaminput { public static void main(String args[]) { FileInputStream ff; int x; String str; byte xx[]=new byte[5000]; try{ ff=new FileInputStream("streaminput.java"); x=ff.read(xx,0,5000); str=new String(xx,0,x,"default");
System.out.print(str);
} catch(IOException e){}
是啊,多于256个byte有什么关系,每一个byte是小于256啊
好象我说的不太清楚,,, string ( byte[], int offset, int length, string enc)这个构造方法里 int length指的是被创建的字节数组包含的字节个数。但在str=new String(xx,0,x,"default")里,x本意是单个字节的数据为什么在这里可以代表字节个数,这才是我迷惑的地方。。
下面是个读源文件的代码import java.io.*;
public class streaminput
{ public static void main(String args[])
{ FileInputStream ff;
int x;
String str;
byte xx[]=new byte[5000];
try{
ff=new FileInputStream("streaminput.java");
x=ff.read(xx,0,5000);
str=new String(xx,0,x,"default");
System.out.print(str);
}
catch(IOException e){}