정말 혼란 스럽습니다. Java에서 파일을 읽는 방법에 대한 많은 구현을 보았습니다. 읽은 것이 많을수록 나에게 의미가 덜합니다.Java - 초기화 BufferedReader 객체 경로 객체
내가 알아챈 것처럼 파일을 읽는 가장 좋은 방법은 BufferedReader
을 Scanner
이상 사용하는 것입니다.
Scanner s = new Scanner(new BufferedReader(...);
대신 단지 : 같은 하지만, 내가 본 예
Scanner s = new Scanner(new File("foo.txt"));
가 어떤 이유 BufferedReader
와 Scanner
를 초기화하는 것? 이렇게하면 어떤 이점이 있습니까?
지금 내가 혼란스러워하는 부분은 File
대신 Path
개체를 사용하는 것이 좋습니다. 그러나 우아한 초기화 방법을 찾지 못했습니다. BufferedReader
Path
개체로 BufferedReader
FileReader
Path
을 사용할 수 없습니다.
물론 단지 같은 것을 할 수있는 방법이있다 :
Path path = Paths.get("foo.txt");
BufferedReader br = new BufferedReader(new FileReader(path.toFile()));
을하지만 그 혼란의 많은 것 같습니다. BufferedReader
에 대한
내 질문은 :
- 이 난
BufferedReader
를 사용해야합니까? FileReader
의 목적은 무엇입니까? 왜 그냥BufferedReader
을String
또는Path
으로 초기화 할 수 없습니까?
예 BufferedReader를 사용해야합니다. 다른 질문에 대한 대답은 - '할 수 있기 때문에 단지 첫 번째 것에도 적용해야 함을 의미하지는 않습니다.'입니다. – Shark
@Shark 이해가 안되네요. - 그래야한다고 말했지만, 그러지 말아야한다고 제안했는데, 어느 것이지? –
당신은해야합니다."왜 문자열이나 경로로 BufferedReader를 초기화 할 수 없는가?"- 불필요하고 복잡한 부분을 잘라내는 것처럼 쉬운 일로 보이는 프로그래밍의 해결 방법과 바로 가기가 많이 있습니다. 그러나 당신이 할 수 있다고해서 반드시해야한다는 것은 아닙니다. 마지막 질문에 관해서는 - 문자열로 초기화 할 수없는 이유는 클래스 작성자에게 좋은 질문 일 것입니다. 결국, 좀 더 읽고, 당신이 그 특별한 경우에 있어야하는지 아닌지에 대해 정보에 입각 한 결정을 내리십시오. – Shark