【发布时间】:2014-03-13 15:57:42
【问题描述】:
所以我有这个方法可以在我的主类中读取文件,而且效果很好
reader = new BufferedReader(new FileReader("how.txt"));
List<String> lines = new ArrayList<String>();
String line = reader.readLine();
while( line != null ){
lines.add(line);
line = reader.readLine();
}
//Choose a random one from the list
Random r = new Random();
String randString=lines.get(r.nextInt(lines.size()));
System.out.println(randString);
现在,问题是,我需要在主类中多次使用这个方法,我想为这个方法创建一个类,这样我就不必为不同的文件复制和粘贴整个方法我想读书。我试图创建类:
public class reader {
public static String readfile (String file) throws IOException{
BufferedReader reader = new BufferedReader(new FileReader("file"));
List<String> lines = new ArrayList<String>();
String line = reader.readLine();
while( line != null ){
lines.add(line);
line = reader.readLine();
}
//Choose a random one from the list
Random r = new Random();
String randString=lines.get(r.nextInt(lines.size()));
System.out.println(randString);
return file;
}
}
但是当我像这样调用主类中的方法时:
String randString = reader.readfile("file.txt");
它给了我一个错误,说方法“reafile(String)”对于 BufferedReader 类型是未定义的。
那么我该如何解决这个问题?或者你如何在不同的类中创建方法并在主类中调用它? 谢谢:)
【问题讨论】:
-
几个问题会影响如何写这个。是否有多个文件?文件是否很长,以至于您不想将它们存储在内存中?你会为同一个文件多次使用该方法吗?
-
您使用的是 Java 7 吗?如果是,请使用
Files.readAllLines() -
@fge 我应该把它放在哪里?
标签: java class methods bufferedreader