먼저, c드라이브에 d_other 파일에 test.txt파일을 생성해두었다.
파일 객체 만들기
1. new File : 새로 파일 객체 만들기
: 디렉토리와 디렉토리, 디렉토리와 파일 사이 구분은 / 또는 \ 로 구분!
// file1 만들기
//.getName()으로 이름을 얻을 수 있다.
//.isFile() 파일인지 false, true로 확인,
//.isDirectory() 폴더인지 false, true로 확인
File file1 = new File("c:\\D_Other\\test.txt");
System.out.println("파일명 : " + file1.getName());
System.out.println("파일일까? : " + file1.isFile());
System.out.println("디렉토리일까? : " + file1.isDirectory() );
System.out.println();
----- 결 과 -----
파일명 : test.txt
파일일까? : true
디렉토리일까? : false
--------------------
경로에 들어가보면 test.txt 파일을 미리 만들어두어서 파일이 있다고 한다.
경로를 D_other까지만 쓰면 디렉토리가 true로 나온다.
2. new File(File parent, String child) : 'parent' 디렉토리 안의 'child'파일을 갖는다.
File file3 = new File(file2, "test.txt");
System.out.println("파일명 : " + file3.getName());
System.out.println("파일일까? : " + file3.isFile());
System.out.println("디렉토리일까? : " + file3.isDirectory() );
System.out.println();
파일 경로를 file2에 객체로 저장하고 넣어서 실행해본다.
----- 결 과 -----
파일명 : test.txt
파일일까? : true
디렉토리일까? : false
--------------------
======================================================================
디렉토리(폴더) 만들기!
위에서는 존재하는 파일이나 폴더를 객체로 받아보았는데 실제로 파일을 만들어볼수도 있다.
mkdir() 은 File 객체의 경로 중 마지막 위치의 디렉토리를 만들어준다.
반환값도 boolean타입으로 있다. 만들기 성공 여부를 나타낸다.
중간의 경로가 모두 있어야 마지막 경로를 만들어줄 수 있다.
File file5 = new File("c:/d_other/연습용");
if( !file5.exists() ) { //file5가 있다면
if( file5.mkdir() ){ // 마지막 경로를 생성해주세요
System.out.println(file5.getName() + "만들기 성공!!!");
}else {
System.out.println(file5.getName() + "만들기 실패~~~");
}
}else {
System.out.println(file5.getName() + "는 이미 있습니다.....");
}
System.out.println();
그런데 없는 경로까지 포함하여 한꺼번에 만들고 싶다면?
가능하다!
mkdirs() 를 사용하면 중간 부분의 경로가 없으면 중간 부분의 경로도 같이 만들어 준다.
File file6 = new File("c:/d_other/test/java/src");
if(!file6.exists()) {
if( file6.mkdirs()) {
System.out.println(file6.getName() + "만들기 성공!!!");
}else {
System.out.println(file6.getName() + "만들기 실패~~~");
}
}else {
System.out.println(file6.getName() + "는 이미 있습니다.....");
}
실제ㅐ로 경로에 들어가보면 그대로 파일이 생성되어있다.
'내가 보려고 정리하는 > JAVA' 카테고리의 다른 글
iBatis (0) | 2023.01.13 |
---|---|
MVC패턴! (0) | 2023.01.13 |
동기화 처리가 되어있는 Vector (0) | 2022.12.28 |
쓰레드로 은행의 입출금 처리하기! (동기화 처리 예제) (0) | 2022.12.28 |
쓰레드 동기화 (2) | 2022.12.28 |