Java practice_240205

Choi Suyeon·2024년 2월 5일
0

시스템 입력(키보드 입력)

  • 8bit stream인 InputStream은 한글이 깨진다.(Stream 1byte, 한글은 2byte)
    8bit stream과 16bit stream을 조합하여 사용.

파일읽기

8bit stream 사용 : 연결된 파일의 종류와 상관없이 모두 읽어 들일 수 있다.(파일복사)

  1. 파일에 스트림을 연결
    FileInputStream fis = new FileInputStream( File 객체 (or String 경로+파일명) );

File

파일에 대한 정보를 얻거나 디렉토리를 생성하거나, 파일명 변경, 파일을 삭제할 때 사용하는 클래스.
java.io패키지에서 제공.

문법

1. 생성
File file = new File("파일경로");

파일의 정보를 얻기

파일이 존재하는지?
boolean b = file.exist();

파일인지?
boolean b = file.isFile();

디렉토리인지?
boolean b = file.isDirectory();

읽기 가능?
boolean b = file.canRead();

쓰기 가능?
boolean b = file.canWrite();

숨기파일 가능?
boolean b = file.isHidden();

파일의 길이(byte)
long i = file.length();

파일의 절대 경로
String str = file.getAbsolutePath();

  • 규범경로
    OS에서 파일에 접근하기 위해 사용하는 단 하나의 경로를 규범경로 CanonicalPath라고 한다.
    드라이브 경로 대문자로만 사용.

    String str = file.getCanonicalPath();

실행 가능한지
boolean b = file.canExecute();

파일이 존재하는 디렉토리 얻기
String path = file.getParent();

파일명 얻기
String name = file.getName();

파일이 마지막으로 수정
long l = file.lastModified();


디렉토리 생성

OS에서 제공하는 명령어 "mkdir 디렉토리명", "mkdir c:\상위디렉토리명\하위디렉토리명"

  1. 디렉토리명을 가진 file을 생성.
    File file = new File("디렉토리명");

  2. 생성
    mkdir() //부모디렉토리가 존재하지 않으면 하위 디렉토리를 생성하지 않는다.
    mkdirs() //부모디렉토리가 존재하지 않으면 부모 디렉토리부터 생성한다.

  • 파일 삭제
  1. 삭제할 파일과 같은 이름의 파일객체를 생성
    File file = new File("파일명");

  2. 삭제
    file.delete();

  • 파일명 변경
  1. 이전 파일을 저장한 객체
    File file = new File("변경전 이름");

  2. 변경할 파일명을 저장한 객체
    File renameFile = new File("변경전 이름");

  3. 변경
    이전이름.renameTo("새이름객체");


  1. 파일에 스트림을 연결
    FileInputStream fis = new FileInputStream(File 객체);

  2. 파일에서 내용을 읽어 들인다.(읽어들인 내용이 없다면 -1이 나온다.)
    int readData = 0;

while( (readData=fis.read())!= -1 ){
//읽어들인 데이터를 사용.
}

  1. 스트림 사용을 종료하면 연결을 끊는다.
    fis.close();

0개의 댓글