“ 매주 목요일마다 당신이 항상 하던대로 신발끈을 묶으면 신발이 폭발한다고 생각해보라.
컴퓨터를 사용할 때는 이런 일이 항상 일어나는데도 아무도 불평할 생각을 안 한다. ”- Jef Raskin
맥의 아버지 - 애플컴퓨터의 매킨토시 프로젝트를 주도
반응형
Java File Handling
자바 파일 핸들링(Java File Handling)
평소에 관심이 있던 "Java File Handling" 관련하여, 알아보자
w3schools의 자료들을 참고 하여, 작성하겠습니다.
File에 관련된 패키지[Package]는 java.io에 있다.
import java.io.*;
import java.io.file;
메소드[Method] | 타입[Type] | 묘사[Description] |
canRead() | Boolean | "파일을 읽을 수 있는지?" |
canWrite() | Boolean | "파일의 쓰기가 가능 한지?" |
createNewFile() | Boolean | "빈 파일 생성해주세요" |
delete() | Boolean | "파일 삭제해주세요" |
exists() | Boolean | "파일이 있는지 확인해주세요" |
getName() | String | "파일 이름을 반환해주세요" |
getAbsolutePath() | String | "파일의 절대 경로 이름 반환해주세요" |
length() | Long | "파일 크기(byte)를 반환해주세요" |
list() | String[] | "폴더(디렉토리)에 있는 파일 배열을 반환해주세요" |
mkdir() | Boolean | "폴더(디렉토리)를 만들어주세요" |
- 영어로 알려져있어서 우리가 좀 더 편하게 알 수 있게 하기위해 한글로 번역
- Bolean 담겨질 수 있는 데이터[data] : True or False
- String 담겨질 수 있는 데이터[data] : 문자열이 들어 갈 수있다 String a = "최영환";
- Long 담겨질 수 있는 데이터[data] : 정수를 표현할 수 있다. long Yeonghwan = 84577551565L;
잠깐만요 ! IOException 알고 가실께요!
잠깐만요 ! IOException 알고 가실께요!
Java Virtual Machine('JVM') 프로그램에서 에러 발생하면, Exception[예외]을 던집니다.[Throw]
보통 [try/catch] 사용하여 프로그램을 처리, 다른 경우에서는 자신이 처리하지 않고 자신을 부른 곳에서 던집니다.
이 경우 메소드[Method]의 java.io.IOException 명시됨.
참고 : No.1
File Created :
import java.io.File;
import java.io.IOException;
public class Create {
public static void main(String[] args) {
try {
File FileCT = new File("Yeonghwan.txt");
if (FileCT.createNewFile()) {
System.out.println("File created: " + FileCT.getName());
} else {
System.out.println("준비됬어!");
}
} catch (IOException e) {
System.out.println("오류났어 ㅠ");
e.printStackTrace();
}
}
}
/* ⓒ W3schools
* Create 클래스에 파일을 생성 할 수 있게 만들어진 소스입니다
* File FileCT = new File("Yeonghwan.txt"); 이 부분은 Yeonghwan.txt라는 파일명을 설정한겁니다.
* 그리고 순차적으로 내려오면서 FileCT.createNewFile()을 거쳐 파일을 생성 하게 됩니다.
*/
File Writer :
import java.io.FileWriter; // FileWriter 클래스 가져온다.
import java.io.IOException; // 오류를 처리 할 수 있는 IOException 클래스 가져온다.
public class Writer {
public static void main(String[] args) {
try {
FileWriter WriterMyFile = new FileWriter("Yeonghwan.txt"); // Yeonghwan.txt라는 파일에 밑의 내용을 입력시켜준다.
WriterMyFile.write("이런 내용을 파일에 입력시켜줘.");
WriterMyFile.close();
System.out.println("성공적이야!");
} catch (IOException e) {
System.out.println("오류났어..");
e.printStackTrace();
}
}
}
File Read :
import java.io.File; // Import the File class
import java.io.FileNotFoundException;
import java.util.Scanner; // 텍스트 파일 읽을 수 있는 scanner 클래스 가져온다.
public class ReadFile {
public static void main(String[] args) {
try {
File ReadTxt = new File("Yeonghwan.txt");
Scanner myReader = new Scanner(ReadTxt);
while (myReader.hasNextLine()) {
String data = myReader.nextLine();
System.out.println(data);
}
myReader.close();
} catch (FileNotFoundException e) {
System.out.println("오류났어..");
e.printStackTrace();
}
}
}
/*
* 파일 내의 텍스트를 가져와서 출력한다.
*/
File Information :
import java.io.File; // File 클래스 가져온다.
public class FileInfo {
public static void main(String[] args) {
File InfoFile = new File("Yeonghwan.txt");
if (InfoFile.exists()) {
System.out.println("파일 명 : " + InfoFile.getName());
System.out.println("파일 경로 : " + InfoFile.getAbsolutePath());
System.out.println("쓰기 가능 : " + InfoFile.canWrite());
System.out.println("일기 가능 : " + InfoFile.canRead());
System.out.println("파일 크기[Byte] : " + InfoFile.length());
} else {
System.out.println("파일이 존재하지 않는다는데, 다시 확인해주세요.");
}
}
}
Delete File :
import java.io.File; // File 클래스를 가져온다.
public class DelFile {
public static void main(String[] args) {
File FileDel = new File("Yeonghwan.txt");
if (FileDel.delete()) {
System.out.println("파일 삭제 : " + FileDel.getName());
} else {
System.out.println("삭제 실패");
}
}
}
Delete Folder :
import java.io.File;
public class DelFolder {
public static void main(String[] args) {
File FolderDel = new File("경로 지정");
if (FolderDel.delete()) {
System.out.println("삭제 할 폴더 : " + FolderDel.getName());
} else {
System.out.println("폴더 삭제 실패");
}
}
}
- 추후 알고 싶은 내용들이 있으면, "추가/수정" 하겠습니다.