Java의 파일 및 디렉토리 관리
디렉토리는 파일 관리를위한 특별한 메커니즘입니다. 동일한 디렉토리에 유사한 파일을 저장하면 파일 관리를 단순화 할뿐만 아니라 작업 효율성을 향상시킬 수 있습니다. Java 언어는 디스크 파일 및 디렉토리를 관리하는 데 특별히 사용되는 java.io 패키지의 파일 클래스를 정의합니다.
각 파일 클래스 객체는 디스크 파일 또는 디렉토리를 나타내며 해당 객체 속성에는 파일 또는 디렉토리에 대한 관련 정보가 포함되어 있습니다. 파일 클래스에서 제공 한 다양한 메소드를 호출하면 파일 이름을 작성하고 삭제하고 파일의 읽기 및 쓰기 권한을 판단하고 파일의 최신 수정 시간을 설정하고 쿼리 할 수 있습니다. 다른 운영 체제마다 파일 클래스 객체를 사용하여 Java 프로그램은 플랫폼 독립적이고 통합 된 방식으로 파일과 디렉토리를 처리 할 수 있습니다.
파일 클래스의 객체를 만듭니다
파일 클래스 객체를 만들려면 해당 파일 이름 또는 디렉토리 이름을 제공해야합니다.
파일 클래스의 생성자를 사용하는 경우 다음 사항에주의를 기울여야합니다.
(1) 경로 매개 변수는 디스크의 절대 경로, 상대 경로 또는 디렉토리 일 수 있습니다.
(2) 다른 운영 체제마다 다른 디렉토리 분리기를 사용하므로 정적 변수 시스템을 사용할 수 있습니다. 시스템 클래스의 DIRSEP는 다른 운영 체제에서 공통적 인 경로를 구현할 수 있습니다. 좋다:
"D :"+System.Dirsep+"Myjava"+System.Dirsep+"파일"
속성과 운영을 얻습니다
파일 객체의 도움으로 파일 및 관련 디렉토리의 속성 정보를 얻고 관리하고 작동 할 수 있습니다. 표 10-10에는 일반적으로 사용되는 방법과 설명이 나와 있습니다.
[예] 입력 된 절대 경로는 파일 또는 디렉토리를 나타냅니다. 파일 인 경우이 파일의 절대 경로를 출력 하고이 파일의 파일 속성을 결정하십시오 (디렉토리 인 경우이 디렉토리의 모든 파일을 출력하십시오 (숨겨진 파일 제외). (소스 코드 참조).
작동 결과는 그림에 나와 있습니다.
Java 입력 및 출력 (IO) 및 스트림의 기본 개념
입력 및 출력 (I/O)은 프로그램이 외부 장치 또는 기타 컴퓨터와 상호 작용하는 작업을 나타냅니다. 거의 모든 프로그램에는 키보드의 데이터 읽기, 로컬 또는 네트워크 파일의 데이터 읽기 또는 데이터 쓰기와 같은 입력 및 출력 작업이 있습니다. 정보는 입력 및 출력 작업을 통해 외부 세계로부터 받거나 외부 세계로 전송 될 수 있습니다. Java는 이러한 입력 및 출력 작업을 스트림으로 구현하고 통합 인터페이스를 통해이를 나타내므로 프로그래밍을 더 간단하게 만듭니다.
Java 스트리밍의 개념
스트림은 컴퓨터의 입력 및 출력 작업 중에 구성 요소 간의 데이터 흐름을 나타냅니다. 데이터의 전송 방향에 따라 스트림은 입력 스트림 및 출력 스트림으로 나눌 수 있습니다. Java 언어로 스트림 시퀀스의 데이터는 처리되지 않은 원시 바이너리 데이터 또는 특정 인코딩 프로세스 후 특정 형식을 충족하는 데이터 일 수 있습니다.
1. 입력 및 출력 스트림 Java의 입력 및 출력 소스는 입력 및 출력 데이터를 데이터 스트림이라고합니다. 데이터 스트림은 Java 프로그램이 데이터를 보내고 수신하는 채널입니다. 입력 스트림 (입력 스트림) 및 출력 스트림 (출력 스트림)이 포함됩니다. 일반적으로 입력 스트림은 데이터를 읽는 데 사용되며 출력 스트림은 데이터에 기록됩니다. 스트리밍 입력 및 출력의 특성은 데이터의 획득 및 전송이 데이터 순서에서 수행된다는 것입니다. 출력 스트림은 프로그램과 비교하여 스토리지 매체 또는 데이터 채널에 데이터를 작성하는 반면 입력 스트림은 스토리지 매체 또는 데이터 채널에서 데이터를 읽습니다.
우선 출력 스트림에 기록 된 데이터는 먼저 입력 스트림에 의해 읽습니다.
순차적 인 액세스, 당신은 일련의 바이트 문자열을 하나씩 스트림에 쓸 수 있으며, 읽기시기 순서로 일련의 바이트를 읽고 중간 데이터에 무작위로 액세스 할 수 없습니다.
읽기 전용 또는 쓰기 전용은 각 스트림은 입력 스트림 또는 출력 스트림 중 하나 일 수 있으며 데이터 전송 채널에서 두 가지 기능을 가질 수 없습니다. 스트림은 별도로 제공됩니다.
2. 데이터 전송 효율을 향상시키기 위해, 버퍼링 스트림의 개념, 즉 스트림에 대한 버퍼 (버퍼)가 장착되고 버퍼는 데이터를 전송하는 데 특별히 사용되는 메모리 조각이다.
데이터가 버퍼 스트림에 기록되면 시스템은 데이터를 외부 장치로 직접 보내는 대신 버퍼로 데이터를 보냅니다. 버퍼는 버퍼가 가득 차면 모든 데이터를 해당 외부 장치로 보냅니다. 버퍼 스트림에서 데이터를 읽을 때 시스템은 실제로 버퍼에서 데이터를 읽습니다. 입력 및 출력을 처리하기 위해 데이터 스트림을 사용하는 목적은 프로그램의 구현 세부 사항에주의를 기울일 필요가 없기 때문에 프로그램의 입력 및 출력 작업을 수행하는 것입니다. 다양한 입력 및 출력 장치에 대해 시스템에 의해 처리됨) 스트림에 대해서만 소스 프로그램을 수정하지 않고 처리를 수행하여 프로그램의 이식성을 향상시킵니다.
I/O 스트리밍 클래스 개요
스트림 처리를 용이하게하기 위해 Java 언어는 Java.io 패키지를 제공하며, 여기서 각 클래스는 특정 입력 또는 출력 스트림을 나타냅니다. 이러한 스트림 클래스를 사용하려면 프로그래밍 중에이 패키지를 도입해야합니다. Java는 두 가지 유형의 입력 및 출력 스트림을 제공합니다. 하나는 바이트 지향 스트림이며 데이터 처리는 바이트 지향 스트림이며 문자 데이터 처리에 사용됩니다. 바이트 스트림은 바이너리 바이트 스트림 또는 비트 스트림으로도 알려진 8 비트 이진 번호를 읽고 씁니다. 문자 스트림은 한 번에 16 비트 이진 번호를 읽고 씁니다. 이진 비트 대신 문자로 처리합니다. 문자의 국제 표현을 충족시키기 위해 Java 언어의 문자 인코딩은 16 비트 유니 코드 코드를 사용하는 반면 일반 텍스트 파일은 8 비트 ASCⅱ 코드를 사용합니다.
java.io의 클래스 계층 구조는 그림에 나와 있습니다.
일부 빈번한 장치 상호 작용의 경우 Java Language System은 직접 사용할 수있는 3 개의 스트림 객체를 보유합니다.
Java 언어로 바이트 스트림과 문자 스트림을 사용하는 단계는 기본적으로 입력 스트림을 예제로 사용하여 데이터 소스와 관련된 스트림 객체를 작성한 다음 스트림 객체의 메소드를 사용하여 스트림에서 데이터를 입력하십시오. 마지막으로 닫기 () 메소드를 실행합니다.