모든 설명은 주석으로 확인할 수 있어요.
하나씩 따라해 보세요. ^^
package javaEx;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Vector;
public class Review{
public static void main(String[] args) {
/*
파일 입출력 관련 클래스
-File - 파일 정보 확인 용도로 주로 사용
-FileReader & BufferedReader - 파일 내 내용 읽기 용도로 주로 사용
-FileInputStream - 1바이트씩 읽어옴 > 한글은 깨짐
-FileReader - 2바이트씩 읽어옴 > 한글에 적합
-FileWriter & PrintWriter - 파일 생성&출력에 주로 사용
*/
//1. File 클래스
String pathname = "D:/FileIO.txt"; //경로명에 그냥 슬래시 사용도 가능
//역슬래시 사용 시 이클립스에서 \를 \\로 자동 변환해줌
File file = new File(pathname);
//주요 함수
file.exists(); //해당 경로명에 파일이 있는지 확인
file.length(); //파일 용량을 byte 단위로 리턴
file.getName(); //파일명.확장자를 리턴
file.delete(); //파일 삭제
//2. FileReader & BufferedReader
String fileName = "D:/FileIO.txt";
try {
FileReader fr = new FileReader(fileName); //읽을 파일을 FileReader 객체로 받아오기
//try문 밖에서 선언할 경우 예외 처리에 대한 에러 발생
BufferedReader br = new BufferedReader(fr); //파일 내용을 읽기 위한 커서 생성
while(true) {
String line = br.readLine(); //\n 엔터를 기준으로 한줄씩 읽어오기
if(line == null) { //읽어올 것이 없으면
break; //반복문 탈출
}//if end
System.out.println(line); //읽어온 내용 출력
}//while end
br.close();
fr.close(); //외부 파일은 작업이 끝나면 늦게 불러온 순서 대로 닫아줘야 함
} catch (Exception e) {
System.out.println("예외 발생: " + e);
}
//3. FileReader
String filename = "D:/FileIO.txt";
try {
FileReader fr = new FileReader(filename); //try문 밖에서 선언 시 에러
while(true) {
int data = fr.read();
if(data == -1) {break;}
System.out.printf("%c", data); //.read()는 문자형에 대한 정수형을 리턴
//따라서 출력서식을 통해 문자로 변환해 출력한다
}//while end
fr.close();
} catch (Exception e) {
System.out.println("예외 발생: " + e);
}
//4. FileWriter & PrintWriter
String fname = "D:/FileIO.txt";
try {
//생성할 파일의 경로와 파일명을 매개변수로 넣어주고
FileWriter fw = new FileWriter(fname, false); //역시 try문 밖에서 선언 시 에러 발생
//false - overwrite
//true - append
//위에서 만든 객체에 내용을 입력할 수 있는 또 다른 객체 생성
PrintWriter pw = new PrintWriter(fw, true); //true - 버퍼클리어, true 권장
//내용 입력
pw.println("양덕87");
pw.println("LANEEBLOG");
pw.println("사심있는번역가");
pw.println("에드센스");
pw.println("가즈아");
pw.close();
fw.close();
} catch (Exception e) {
System.out.println("예외: " + e);
}
}//main() end
}//class end
영어를 어느 정도 잘하면 프로그래밍에도 많은 도움이 되더군요.
영어를 배울 수밖에 없다면... ^_^
댓글