파일에 있는 문자 읽는 법
FileReader
FileReader(File file)
FileReader(File file, Charset charset) // Java 11 이후
FileReader(FileDescriptor fd)
FileReader(String fileName)
FileReader(String fileName, Charset charset) // Java 11 이후
•
FileReader는 파일로부터 텍스트 데이터를 읽는다
•
java.io.InputStreamReader 상속받아 InputStreamReader 클래스의 read() 메서드를 사용하여 char를 한글자씩 읽는다 (단, 더이상 읽을 글자가 없을 경우 return -1)
public int read() throws IOException
Java
복사
•
예외 IOException 던져야 컴파일 오류가 사라진다
BufferedReader
public BufferedReader(Reader in)
public BufferedReader(Reader in, int sz)
Plain Text
복사
•
버퍼를 이용해서 FileReader보다 더 효율적(비교할 수 없을 정도)으로 파일을 읽는다
•
readLine()을 사용하면 데이터를 라인 단위로 읽을 수 있다
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileRead {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("./textfile.txt"));
String str;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
/*hello
everyone*/
br.close();
}
}
Java
복사
•
readLine() 메서드는 텍스트를 한줄씩 읽고 더이상 읽을 내용이 없으면 return null
•
예외 IOException을 던져야 컴파일 오류가 사라진다.
FileReader 실습
BufferReader로 txt파일 글자 읽어오기
•
BufferedReader(String filename, int n);
•
n은 한번 받아올 때의 크기를 말한다. (모래를 옮기는 삽의 크기)
•
16 * 2024는 한번 받아올 때 16KB로 받아온다는 의미이다.
readOneByte(String filename)
readTwoByte(String filename)
readNByte(String filename, int n)
readLine(String filename)
readAllLine(String filename)
File dir.listFiles()
fileList()