Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 진경혜
- transferTo
- dm_exec_requests
- 아이
- 스프링
- 요약
- 요청매핑
- MSSQL
- TRANCOUNT
- 디스패처서블릿
- 앵커멤버
- 재귀멤버
- HWPF
- 배치
- 프론트컨트롤러
- git
- 튜닝
- SQL
- 자바
- 홈스쿨링
- java
- SQLSTATE=42705
- 함수
- getChannel()
- XACT_STATE
- renameTo
- ERROR_MESSAGE
- spring
- 교육법
- XWPF
Archives
- Today
- Total
필기노트
자바 File 클래스, renameTo 본문
반응형
File 클래스는 데이터의 입출력 이외에, 파일 또는 디렉터리와 관련된 일을 처리를 위해 디자인 된 클래스이다.
import java.io.File;
class FileMove
{
public static void main(String[] args)
{
File myFile = new File("C:"+File.separator+"MyJava"+File.separator+"my.bin"); // 7행
if(myFile.exists()==false) // 8행
{
System.out.println("원본 파일이 준비되어 있지 않습니다.");
return;
}
File reDir = new File("C:"+File.separator+"YourJava"); // 14행
reDir.mkdir(); // 15행
File reFile = new File(reDir, "my.bin"); // 16행
myFile.renameTo(reFile); // 17행
if(reFile.exists()==true)
System.out.println("파일 이동에 성공하였습니다.");
else
System.out.println("파일 이동에 실패하였습니다.");
}
}
- 7행 : 이동의 대상이 되는 파일정보를 File 인스턴스에 담고 있다.
- 8행: exists 메소드는 해당 정보의 파일이 실제로 존재하는지 확인할 때 호출하는 메소드이다. 해당 파일이 실제로 존재하면 true를 그렇지 않으면 false를 반환한다.
- 14행 : 이동할 위치 정보를 File 인스턴스에 담고 있다. 여기서 중요한 사실은 디렉터리 정보만 담았다는 것이다. 이렇듯 File 인스턴스에는 디렉터리 정보만 담는 것도 가능하다.
- 15행 : 이동할 위치에 해당하는 디렉터리를 생성하고 있다. 바로 이러한 목적으로 14행에서는 파일의 이름정보를 제외한 디렉터리 정보만을 담은 것이다. * mkdirs() : 상위 디렉토리까지 모두 생성하는 함수
- 16행 : 이 문장에서는 정보의 추가 방법을 보이고 있다. 이렇듯 기존의 File 인스턴스를 대상으로 디렉터리 이름이나 파일이름을 추가하여 새로운 File 인스턴스를 생성하는 것도 가능하다. 이 문장에 의해서 reDir의 경로정보에 "my.bin"이라는 파일의 이름정보가 추가되어 새로운 File 인스턴스가 생성된다.
- 17행 : 디렉터리의 경로정보 변경은 파일의 이동으로 이어진다.
- 7, 14행 : File.separator를 사용했으므로, 자바의 실행환경의 따라서 적절한 구분자가 삽입된다.
File inFile = new File("data.bin");
if(inFile.exists()==false)
{
// 데이터를 읽어 들일 대상 파일이 존재하지 않음에 대한 적절한 처리
}
InputStream in = new FileInputStream(inFile);
위의 코드는 File 인스턴스를 먼저 생성하면, 스트림 생성 이전에 유효성 검사가 가능하고, 유효성 검사에 사용되었던 File 인스턴스를 통해서 스트림도 형성할 수 있음을 보이고 있다. 그런데 이뿐만이 아니라 스트림을 통한 입출력 작업을 완료한 다음에도 참조변수 inFile이 참조하는 File 인스턴스가 유효하기 때문에 이를 이용한 파일의 컨트롤이 가능하다.
반응형
'JAVA' 카테고리의 다른 글
자바 FileReader & FileWriter (문자 입출력 스트림) (0) | 2023.02.21 |
---|---|
JAVA FTP 다운로드, 목록읽기, 업로드 (0) | 2023.01.31 |
JAVA 소켓 통신(Socket, Server, Client) (1) | 2023.01.19 |
JAVA FileChannel을 이용한 파일전송 (0) | 2023.01.04 |
map 반복 및 람다, 스트림 (0) | 2022.12.24 |
Comments