File file = new File("");
FileReader reader = new FileReader(file);
char[] buf = new char[(int)file.length()];
int len = reader.read(buf);
String results = new String(buf,0,len);
System.out.print(results);
定义了一个buf数组长度为file.length,里面应该没有内容
reader.read(buf)是什么意思?
读文件的内容放到buf这个数组中,然后返回数组的长度?
FileReader reader = new FileReader(file);
char[] buf = new char[(int)file.length()];
int len = reader.read(buf);
String results = new String(buf,0,len);
System.out.print(results);
定义了一个buf数组长度为file.length,里面应该没有内容
reader.read(buf)是什么意思?
读文件的内容放到buf这个数组中,然后返回数组的长度?
reader.read(buf);是把文件按字符的方式读入到buf数组中
返回成功读入的字符数,所以和file.length(也就是数组的长度)可能有出入,因为对于多字节字符,字符数和字节数不一样
char[] buf = new char[(int)file.length()];
int len = reader.read(buf);创建数组,把文件内容读入数组,记录读取长度String results = new String(buf,0,len);
System.out.print(results);
截取字符串,全部的长度,输出文件的内容
public String readText(String textname){
File file=new File(textPath+File.separator+textname);
try {
BufferedReader br = new BufferedReader(new java.io.FileReader(file));
StringBuffer sb = new StringBuffer();
String line = br.readLine();
while (line != null) {
sb.append(line);
line = br.readLine();
}
br.close();
return sb.toString();
} catch (IOException e) {
LogInfo.error(this.getClass().getName(),e.getLocalizedMessage(),e);
e.printStackTrace();
return null;
}
}
}
这样逐行读也行