文件 Reader 方法
File Reader Method
所以我编写了这个文件 reader 方法,该方法应该 return 文件中所有内容的字符串,但它无法正常工作。写入文件完美无缺,但这种读取方法却不行。该方法目前所做的是读取最后添加的 string/text,但它不会从头到尾读取文件。 'br' 是我的 bufferedReader,它在同一个 class 的其他地方声明。
br 的定义如下:
private static FileInputStream fis;
private static BufferedReader br;
然后在构造函数中:
fis = new FileInputStream(file);
br = new BufferedReader(new InputStreamReader(fis));
方法如下:
public String readStuff(){
String line = "";
String r = "";
try{
while((line = br.readLine()) != null){
System.out.println(line + " read ");
r+= line;
}
//br.close(); JDK 7 does this automatically apparently
}catch(IOException e){
e.printStackTrace();
System.out.println("Error at readStuff!");
}
return r;
我知道我犯了一个逻辑错误或一些明显的错误,我只是不知道在哪里。
如果你想读取整个文件两次,你将不得不关闭它并在下次打开新的streams/readers。
那些 streams/readers 应该是方法的本地方法,而不是成员,当然也不是静态的。
使用文件和FileReader
您可以从目录读取/写入文件。
您可以使用 File
class 对象获取文件
File file = new File("file.txt");
并在处理后读取该文件
FileReader fr = new FileReader(file);
有完整的代码可以读取文件...
File file = new File("G:\Neon\data.txt");
FileReader fr = new FileReader(file);
String data = "";
while((i = fr.read()) != -1)
{
data = data + (char)i;
}
System.out.println(data);
所以我编写了这个文件 reader 方法,该方法应该 return 文件中所有内容的字符串,但它无法正常工作。写入文件完美无缺,但这种读取方法却不行。该方法目前所做的是读取最后添加的 string/text,但它不会从头到尾读取文件。 'br' 是我的 bufferedReader,它在同一个 class 的其他地方声明。 br 的定义如下:
private static FileInputStream fis;
private static BufferedReader br;
然后在构造函数中:
fis = new FileInputStream(file);
br = new BufferedReader(new InputStreamReader(fis));
方法如下:
public String readStuff(){
String line = "";
String r = "";
try{
while((line = br.readLine()) != null){
System.out.println(line + " read ");
r+= line;
}
//br.close(); JDK 7 does this automatically apparently
}catch(IOException e){
e.printStackTrace();
System.out.println("Error at readStuff!");
}
return r;
我知道我犯了一个逻辑错误或一些明显的错误,我只是不知道在哪里。
如果你想读取整个文件两次,你将不得不关闭它并在下次打开新的streams/readers。
那些 streams/readers 应该是方法的本地方法,而不是成员,当然也不是静态的。
使用文件和FileReader
您可以从目录读取/写入文件。
您可以使用 File
class 对象获取文件
File file = new File("file.txt");
并在处理后读取该文件
FileReader fr = new FileReader(file);
有完整的代码可以读取文件...
File file = new File("G:\Neon\data.txt");
FileReader fr = new FileReader(file);
String data = "";
while((i = fr.read()) != -1)
{
data = data + (char)i;
}
System.out.println(data);