Java 字符数组大小?Stringbuffer以字符串形式保存HTMl文件
我正在读取一个HTML文件并将其保存为字符串。我想读取长度(Java 字符数组大小?Stringbuffer以字符串形式保存HTMl文件,java,string,url,Java,String,Url,我正在读取一个HTML文件并将其保存为字符串。我想读取长度(int len=con.getcontentlength())并放入charcharArray=new char(len),但是getcontentlength的结果总是-1。 所以我修正了字符但是如果我 char[]charArray=新字符[1]或 char[]charArray=新字符[512]或 char[]charArray=新字符[1024] 它总是有效的 我不明白为什么 public static void main(St
int len=con.getcontentlength()
)并放入charcharArray=new char(len)
,但是getcontentlength
的结果总是-1。
所以我修正了字符但是如果我
char[]charArray=新字符[1]
或
char[]charArray=新字符[512]
或
char[]charArray=新字符[1024]
它总是有效的
我不明白为什么
public static void main(String[] args) throws Exception
{
String name="AAAA";
URL url = new URL("http:...");
URLConnection con = url.openConnection();
InputStream is = con.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
int numCharsRead;
char[] charArray = new char[1];
StringBuffer sb = new StringBuffer();
while ((numCharsRead = isr.read(charArray)) > 0)
sb.append(charArray, 0, numCharsRead);
String htmlString = sb.toString();
从
新字符[1]更改代码>到新字符[isr.available()]代码>从新字符[1]更改代码>到新字符[isr.available()]代码>除非程序是多线程的,否则不要使用StringBuffer。改用StringBuilder。好的,我改为StringBuilder,但是字符?我可以把我不想用的维度放在StringBuffer上,除非你的程序是多线程的。改用StringBuilder。好的,我改为StringBuilder,但是字符?我可以把我想要的尺寸
InputStreamReader isr = new InputStreamReader(is);
int c = 0;
while((c = isr.read()) != -1) {
char character = (char) c;
System.out.println(character);
}