그래서 난 내 메인 클래스에서 파일을 읽을 수있는이 방법이, 그리고 내가이 방법에게 여러 번 사용할 필요가, 문제가,의 BufferedReader와 메소드를 호출
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
@fge 어디에서 입력할까요? – underthemistletoe