try{
File file=new File(XX.txt);
int size=(int)file.length();
int chars_read=0;//设置读文件指针
FileReader in=new FileReader(XX.txt);
char[] data=new char[size];
while(in.ready()){
int len =in.read(data,chars_read,size-chars_read);
if(len < 0 )
break;
if(len == 0 )
continue;
jTextArea1.append(new String (data, chars_read, len));
chars_read+=len;
if( (chars_read%1024) == 0 )
jTextArea1.append("\n");
}
in.close();
}
catch(IOException ex){}
File file=new File(XX.txt);
int size=(int)file.length();
int chars_read=0;//设置读文件指针
FileReader in=new FileReader(XX.txt);
char[] data=new char[size];
while(in.ready()){
int len =in.read(data,chars_read,size-chars_read);
if(len < 0 )
break;
if(len == 0 )
continue;
jTextArea1.append(new String (data, chars_read, len));
chars_read+=len;
if( (chars_read%1024) == 0 )
jTextArea1.append("\n");
}
in.close();
}
catch(IOException ex){}
在下是新手,上面代码有点不明白!
chars_read+=len;
if( (chars_read%1024) == 0 )
jTextArea1.append("\n");
那要是chars_read不正好是1024的倍数呢?假如1030,照你的代码好像是不换行吧?
我想楼主的意思好像是,假如读了1030个,那么1024个在一行,另6个在另一行了吧?
不知我说得对不对,如果我理解错了,麻烦帮我解释一下!
我还以为能成,可不行!我想问以下:
int len =in.read(data,chars_read,size-chars_read);
中的len是不是就等于size了,如果这样的话,那么 jTextArea1.append(new String (data, chars_read, len));
那么不就一次就放在了jTextArea1中了,没换行啊!不知我说的对不对!