import java.io.*;
public class ReaderTest
{
public static void main(String[] args)
{
//声明一个字符流;
FileReader fid = null;
//声明一个字符数组,来存字符;
char[] buff = new char[32];
//来记录返回的字节个数
int hasRead = 0;
try
{
fid = new FileReader("ReaderTest.java");
//循环读取内容
while((hasRead = fid.read(buff)) > 0);
{
System.out.print(new String(buff,0,hasRead));
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
得到的结果:Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String
ex out of range: -1
at java.lang.String.<init>(String.java:208)
at ReaderTest.main(ReaderTest.java:18)
问题:1为啥把32换成1024就行了?2还有前提32换成1024,然后把System.out.print(new String(buff,0,hasRead));
换成System.out.print(buff);也能一样输出来,那用String有啥意义么?
求教求教
解决方案 »
- 求正则,取出一段文字中除了<img />标签以为的所有内容,谢谢
- Eclipse 编译 JFrame的子类不过,DOS下是好的。
- 转换背景图片不能及时显示
- =====================求一正则表达式======================
- java在PC上的速度,兄弟们帮运行一下。
- java中怎样从一个文件的最后面,一行一行的往前读数据?
- 这是什么错误?
- Panel的一个问题
- 谁知道现在到底怎样才可以用到GOOGLE呀?????
- 誰能告訴我這麼簡單的書上的例子居然通不過?
- 怎么导入这个包commons-lang.jar
- java中的set和get方法和构造函数什么时候一块用?
while((hasRead = fid.read(buff)) > 0);
多了个分号,晕死了,写代码仔细一点