751
yesterday 862
visitor 23,497,447
9

JAVA File 객체 다루기

조회 수 64233 추천 수 0 2011.10.20 15:16:31
1. File 객체 
java.io.File

하드디스크에 존재하는 파일에 대한 경로 또는, 참조를 추상화한 객체
즉, 새파일에 대한 경로나 만들고자 하는 디렉토리를 캡슐화 한 것임.

2. File 객체의 용도

(1) 물리적 파일시스템에 대해 캡슐화한 경로명을 확인하고 ,실제 파일이나 디렉토리와 대응하는지 알아볼때
(2) 파일 스트림 객체를 생성하고자 할때

※ 참고
     다음과 같은 사항등을 확인 할 수 있다.
  • 파일의 크기
  • 파일의 이름
  • 최종 수정일시
  • 파일의 속성 (읽기전용,쓰기가능,숨김파일여부...등)
  • 기타..
3. File Class 의 인스턴스 생성
1. 디렉토리 생성
File dir = new File("디렉토리의 경로");
2. 부모 디렉토리를 파라미터로 인스턴스 생성
File newFile = new File(dir,"파일명");
          ※ 위의 1,2 번 방법대로 생성하는 것이 여러모로 가장 유용하다.

3. 부모디렉토리를 String 타입으로 전달할 수도 있다.
File newFile = new File("디렉토리의 경로","파일명");

4. File 객체를 URI 객체로부터 생성하는것도 방법도 있다.

4. File 객체는 특징
  • 파일 객체는 불변적이다.
한번 객체를 생성하고 나면, 생성된 객체에 설정된 경로를 바꿀수가 없다
예를 들면, 파일객체를 생성한 후 생성된 File객체를 참조하는 rename() 메서드를 통해
파일명을 바꾸면 rename()메서드는 실제 파일의 이름을 변경하므로,

File 객체가 포함하고 있는 경로는 존재하는 파일(이름이 바뀐..)을 더이상 참조하지 못한다.


5. File 객체의 메서드 (1)
  • getName()
    • 경로를 제외한 파일의 이름을 리턴한다
    • 디렉토리를 참조하는 File객체는 디렉토리명을 리턴한다.
   ※  즉, File 객체가 참조하는 경로의 마지막 부분을 리턴한다.
  • getPath()
    • 파일,디렉토리명 포함한 경로 리턴
  • getParent()
    • 현재 파일객체의 부모디렉토리의 절대경로명을 리턴
  • hashCode()
    • 현재 파일객체의 해시코드값 리턴
  • exists()
    • File 객체가 참조하는 파일이나 디렉토리가 실존하면 true 리턴
  • isDirectory()
    • 디렉토리 이면 true
  • isFile()
    • 파일이면 true
  • canRead()
    • 파일객체가 참조하는 파일이나 디렉토리에 읽기 권한이 있으면 true
  • canWrite()
    • 쓰기 권한이 있으면 true
  • getAbsolutePath()
    • 파일객체의 절대경로를 리턴
  • getAbsoluteFile()
    • 현재 File 객체가 참조하는 파일 또는 디렉토리의 절대경로를 포함한 File 객체 리턴
  • list()
    • 파일객체가 디렉토리 이면 디렉토리 내의 파일명과 디렉토리의 이름을 담고 있는 String[] 리턴
  • iistFiles()
    • 파일객체가 디렉토리 이면 디렉토리내의 파일과 디렉토리를 참조하는 File[] 리턴
  • length()
    • File 객체가 참조하는 파일의 길이를 바이트 단위로 표현한 long 형 값 리턴
  • lastModified()
    • 마지막으로 수정된 시각을 long형으로 리턴
  • listRoots()
    • static 메서드
    • 루트디렉토리에 대응하는 파일객체의 배열 리턴 file[]
    • 윈도우에서 c:\ ,d:\,e:\,f:\ 출력됨

6. File 객체의 메서드 (2)
※ 다음 메서드들은 파일과 디렉토리를 생성하고 수정하는데 사용되는 메서드이다.
  • renameTo(File dest)
    • 현재 객체가 나타내는 파일의 이름이 메소드의 인자로 전달된 File객체가 나타내는 경로로 변경됨
    • 물리적인 파일을 실제로 바꾸는 것이므로 이전 File 객체가 참조하는 파일은 존재하지 않게된다.
    • 성공하면 true 리턴
※ ex
targetFile.renameTo(new File(targetDirectory,fileHashName));
  • setReadOnly()
    • 현재 객체가 참조하는 파일객체를 읽기전용으로 수정한다.
  • mkdir()
    • 현재 파일객체가 참조하는 경로로 디렉토리를 생성한다.
    • 반드시 부모디렉토리가 있어야 한다.
  • mkdirs()
    • 디렉토리를 생성한다.
    • 부모디렉토리까지 같이 생성한다.
    • 실패한 경우에도 일부 디렉토리가 생성 되었을 수 있다.
  • createNewFile()
    • 지정된 경로로 빈 파일 생성
    • 경로에 지정된 디렉토리가 이미 있어야 한다
    • 같은 이름의 파일이 이미 존재하면 실패한다.
  • createTempFile(String prefix , String sufix , File directory)
    • static 메서드
    • prefix : 파일이름(3글자 이상)
    • suffix : 파일 확장자 이름 (null 이면  .tmp)
    • directory 에 파라미터로 주어진 이름으로 임시 파일을 생성한다.
    • 생성된 파일은 자동 삭제 되지 않으므로 삭제처리를 별도로 해줘야 한다.
  • createTempFile(String prefix , String sufix )
  • delete()
    • File 객체가 참조하는 파일 또는 디렉토리를 삭제한다.
    • 디렉토리이면 비어있어야 한다.
  • deleteOnExit()
    • 프로그램이 끝날때 삭제한다
    • 임시파일의 삭제에 주로 사용


출처 : http://blog.naver.com/hateatom/100138120527

 

 

'헬로마켓'과 함께하는 스마트한 중고 아이템 거래

https://www.hellomarket.com


1
profile

Robert

August 21, 2022
*.255.168.18

Nike Factory Adidas Yeezy Boost 350 V2 Nike Shox New Nike Shoes New Nike Shoes 2019 Ferragamo Outlet Pandora Sale KD Shoes Jordan Retro Air Force 1 Mid Nike Running Shoes For Men Adidas Yeezy Nike Sneakers For Women Nike Air Force One Jordan 1 Mids Jordan 11 Cheap Nike Nike Air Zoom Air Jordans 1 Pandora Charms Nike Shoes 2019 Nike Black Friday Pandora Charms Nike Air Max 95 Essential Nike Air Jordans Christian Louboutin Outlet Nike Shoes For Men Basketball Pandora Nike Air Max 720 Men Nike Outlet Store Online Shopping Jordan Shoes For Men Pandora Rings Huarache Sandals Christian Louboutin Outlet Louboutin shoes Nike Air Max 98 Nike Air Max Pandora Nike Running Shoes Jordans Shoes Valentino Sneakers Jordan 7 Nike Clearance Nike Clearance Pandora Jewelry Rings Nike Outlet Store Vans Red Bottoms Nike Shoes For Men Air Jordan 11 Jordan retro 14 Nike Shoes Pandora Jewelry Yeezy Nike Outlet Store Online Air Jordans Jordan 4s Pandora Bracelet Charms Air Jordan 13 Retro Nike Sneakers Sale Nike Clearance Pandora Bracelets Charms Nike Air Max Pandora Canada Fjallraven Kanken Nike Factory Store Jordan 9 Nike Free Run Pandora Earrings UNC Jordan 1 Kyrie Irving Basketball Shoes Nike Air Max 720 Yeezys Christian Louboutin Nike Zoom Louboutin Outlet Red Bottom Shoes Jordan 32 Yeezy 700 Adidas Sneakers For Women Nike Outlet Online Fjallraven Kanken Backpack Adidas NMD Jordan 12s Adidas NMD Jordan Shoes Pandora Bracelet Air Jordans Nike Free Run Nike Factory Outlet Ultraboost Red Bottom Heels Jordan 11 Blue Jordan Retro Pandora Charms Ferragamo Belts Moncler UK Nike Air Max 98 Jordan AJ 1 Low Jordan 1 Nike Outlet Store Online Air Force 1 Lebron 16 Air Jordan 10 Yeezy Boost 350 V2 Nike Shoes Pandora Necklaces Louboutin Shoes Yeezy 500 Black Pandora Charms Pandora Jewelry Official site Nike Sneakers For Men Jordan 11 Retro Louboutin Shoes New Air Max 2019 Nike Outlet Online Air Jordan 4 Retro Nike Shoes Jordans Sneakers Nike Outlet Store Nike Air Presto Golden Goose Jordan 1 High Kids Nike Shoes Nike Outlet Nike Factory Outlet Store Online Nike Running Shoes For Men Nike Jordan 1 Nike Clearance Store Christian Louboutin Jordan 13 Retro Lebron James Shoes Nike Mags New Jordan Ultra Boost Adidas Asics Shoes Outlet Jordan Retro 3 Nike Epic React Lebron 16 Pandora Jewelry Official Site USA Pandora Jewelry Kyrie Irving Shoes Nike Store Louboutin Heels Adidas Yeezy Nike Shoes 2019 Nike Cortez Nike Outlet Online Nike Store Jordan Shoes For Kids Nike Air Force Nike Factory Lebron Shoes Jordan 8 Nike Air Max 270 Womens Sneakers Website Christian Louboutin Outlet Basketball Shoes Nike Factory Store
문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
9 https http 세션 공유 필터 방법(쿠키 복사) [1] 제리 2018-09-20 40504
8 @Schedule Spring 스프링 스케쥴 설정법 & CronTab [4] 제리 2016-07-21 65284
7 자바 1.7과 1.8의 차이, 스프링 3.0과 4.0의 차이 [1] 제리 2016-06-03 78042
6 java 날짜 format 제리 2013-10-29 45324
5 Java/JSP Tips (웹에디터) 제리 2013-05-13 42159
4 [jsp] 표현언어(EL) ( JSP커스텀 태그와 JSTL (jsp standard Tag Library) [1] 제리 2012-08-06 81103
3 POI 라이브러리를 이용한 Excel 파일 읽기 [3] 제리 2011-10-20 95954
» JAVA File 객체 다루기 [1] 제리 2011-10-20 64233
1 jsp 직접접근 막기 [3] 제리 2011-10-19 54365

Program Note 로그인 :)