哥们,我按照你的代码写了一遍.- import java.io.*;
- class bufferDemo
- {
- private static FileReader i=null;
- public static void main(String[] args)throws Exception{
- i=new FileReader("StringDemo.java");
- System.out.println(MyReadline());
-
- }
- public static String MyReadline() throws IOException{
- char[] sbf=new char[1024];
- int len=0;
- while((len=i.read(sbf))!=-1){System.out.println(len);
- if(sbf[len-1]=='\n'){
- if(sbf[len-2]=='\r')
- return (new String(sbf,0,len));
- else
- continue;
- }else
- continue;
- }
- return null;
- }
- }
复制代码 你我看到了这个
1024
1024
669//这三个数字是len的值,下面都是正常的读取. 可见,在文章没有读取完之前,它都是1024的读取.并没有顾忌到回车.
始, 三个存入.
sop(s);
}
public static void method_get()
{
String str = "abcdefa";
sop(str.length());
//根据索引获取字符.
sop(str.charAt(2));
--------------------------------------------------------还有一句就是 if(sbf[len-1]=='\n')
这if内的语句是访问不到的,不信你放进一个System.out.println("1");试试
具体原因我也没仔细想过,关于这一章我也有点模棱两可.不过你要是做出来了,回答我一下. |