File file = new File("C:/photo/food.jpg); // 객체 생성(1)
File file = new File("C:/photo", "food.jpg"); // 객체 생성(2)
read()
- 텍스트 파일에서 한 글자씩 글자를 읽어서, 하나의 char를 리턴한다. 더 이상 읽을 글자가 없으면 -1을 리턴하고 반복문을 종료한다.
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) throws IOException {
FileReader reader = new FileReader("D:\\file.txt"); // 객체 생성
System.out.println(char)reader.read()); // 한글자씩 읽음
}
}
// 출력 결과
file.txt 폴더 안 내용 : hello
1회차 결과 : h
2회차 결과 : e
readLine()
- 텍스트 파일을 한 줄씩 읽어서 리턴한다. 더 이상 읽을 내용이 없으면, null 리턴.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(
new FileReader("d:\\file.txt"),
16 * 1024
); // readLine()을 사용하기 위해 BufferReader 클래스 사용
// 파일을 읽어오기 위해 FileReader()클래스를 통해 객체 생성
// 버퍼 사이즈를 16KB로 생성
String str;
while ((str = reader.readLine()) != null) { // 파일의 데이터가 없을때 까지 반복
System.out.println(str);
}
reader.close();
}
}
// 출력 결과
hello
how are you
nice to meet you
FileWriter fw = new FileWriter("파일경로", true);
flush( )
- 버퍼의 남은 데이터를 모두 사용
close( )
- 스트림 종료
public class FileWriterTest {
public static void main(String[] args) throws IOException{
String filePath = "D:/MyWork/Test.txt";
File file = new File(filePath); // File객체 생성
if(!file.exists()){ // 파일이 존재하지 않으면
file.createNewFile(); // 파일 신규 생성
}
// BufferedWriter 생성
BufferedWriter writer = new BufferedWriter(new FileWriter(file, true));
// 파일에 쓰기
writer.write("하이루!");
writer.newLine();
writer.write("반가워!");
writer.newLine();
// 버퍼 및 스트림 뒷정리
writer.flush(); // 버퍼의 남은 데이터를 모두 쓰기
writer.close(); // 스트림 종료
}
}