Java에서 파일 처리: Java 파일로 작업하는 방법?

게시 됨: 2021-03-12

Java는 널리 사용되는 프로그래밍 언어입니다. 강력한 아키텍처와 구성 요소 외에도 성공과 인기의 가장 중요한 이유 중 하나는 수많은 기능에 대한 지원입니다. Java의 파일 처리는 파일 작업을 가능하게 하는 기능 중 하나입니다. 오늘 은 자바 의 파일 개념으로 수행할 수 있는 다양한 작업에 대해 배울 것입니다 .

목차

Java 파일 처리란 무엇입니까?

언급했듯이 Java에서 파일 처리를 사용하면 파일 작업을 할 수 있습니다. Java.io 패키지의 File 클래스에 정의된 Java 기능입니다. Java.io 패키지의 io는 입력 및 출력을 나타냅니다. Java.io 패키지에서 입력 또는 출력 작업을 수행하는 데 필요한 모든 클래스를 찾을 수 있습니다.

이 File 클래스에 액세스하고 이를 사용하여 개체를 만들고 파일 또는 디렉터리 이름을 제공하여 다양한 기능을 수행할 수 있습니다. 개체를 만들고 File 클래스를 사용하는 구문은 다음과 같습니다.

가져오기 java.io.File;

파일 obj = new File("이름.txt");

위의 구문에서 볼 수 있듯이 먼저 Java.io 패키지에서 File 클래스를 가져와야 합니다. 가져온 후에는 개체를 만들고 작업할 파일 또는 디렉터리 이름을 지정하기만 하면 됩니다. Windows OS에서 디렉토리 이름을 언급하려면 "\\"를 사용해야 합니다. 예를 들어, " C:\Users|MyFolder|MySubFolder "가 아니라 " C:\\Users\\MyFolder\\MySubFolder "를 사용해야 합니다. 그러나 Linux와 같은 다른 운영 체제의 경우 평소와 같이 단일 \를 사용할 수 있습니다.

Java 에서 파일 개념의 모든 I/O(입력/출력) 작업은 스트림의 도움으로 수행됩니다. 스트림이 무엇이며 이러한 작업이 스트림과 함께 어떻게 수행되는지 자세히 살펴보겠습니다.

Java에서 스트림의 개념은 무엇입니까?

간단히 말해서 스트림은 일련의 데이터입니다. 스트림에는 다음과 같은 두 가지 유형이 있습니다.

  • 바이트 스트림 : 이 유형의 스트림은 바이트 데이터와 함께 작동합니다. I/O 작업은 바이트(8비트) 형식으로 데이터를 읽거나 쓸 때 바이트 스트림으로 수행됩니다.
  • 문자 스트림 : 이 유형의 스트림은 문자 시퀀스와 함께 작동합니다. 문자를 사용하여 데이터를 읽거나 쓸 때 I/O 작업은 문자 스트림으로 수행됩니다.

확인: GitHub의 상위 Java 프로젝트

Java에서 파일 처리에 사용할 수 있는 다양한 방법은 무엇입니까?

File 클래스는 단순히 호출하여 모든 I/O 작업을 수행하는 데 도움이 되는 다양한 미리 정의된 메서드를 제공합니다. 아래 표에는 모든 메서드와 해당 메서드가 수행하는 작업이 나와 있습니다.

방법 유형 설명
canRead() 부울 파일을 읽을 수 있는지 여부를 확인합니다.
canWrite() 부울 파일에 쓸 수 있는지 여부를 테스트합니다.
새로 만들기 파일() 부울 이것은 새로운 빈 파일을 생성할 것입니다.
삭제() 부울 이 방법은 지정된 파일을 삭제합니다.
존재() 부울 언급된 파일이 존재하는지 확인합니다.
getName() 파일 이름을 반환합니다.
절대경로() 파일의 절대 경로 이름을 반환합니다.
길이() 파일의 크기를 바이트 단위로 반환합니다.
목록() 끈[] 디렉터리에 있는 파일 이름 목록을 반환합니다.
mkdir() 부울 이 방법은 새 디렉토리를 생성합니다.

다른 Java 파일 처리 작업을 수행하는 방법은 무엇입니까?

File 클래스에서 사용할 수 있는 다양한 메소드에 대해 알고 있으므로 이를 사용하여 다양한 Java 파일 처리 작업을 수행할 차례입니다. 우선 파일에 대해 다음 작업을 완료할 수 있습니다.

  • 새 파일을 만듭니다.
  • 파일 정보를 가져옵니다.
  • 파일에 씁니다.
  • 파일에서 읽습니다.
  • 파일을 삭제합니다.

이러한 각 작업을 수행하는 예를 살펴보겠습니다. 첫 번째 예에서는 새 파일을 만든 다음 동일한 파일을 사용하여 다른 작업을 수행합니다.

파일 생성

createNewFile() 메소드를 사용하여 파일을 생성할 수 있습니다. 메서드를 실행하면 true 또는 false가 반환됩니다. 파일이 성공적으로 생성되면 true를 반환합니다. 반면에 파일이 이미 존재하면 false를 반환합니다.

파일이 성공적으로 생성되지 않으면 예외가 발생할 수 있으므로 항상 try 및 catch 블록 내에서 이 방법을 사용하는 것이 좋습니다. Java의 예외 처리에 대한 가이드에서 이에 대해 자세히 알아볼 수 있습니다 . createNewFile() 메서드를 사용하여 비어 있는 새 파일을 만드는 아래 예제를 참조하세요.

가져오기 java.io.File; // File 클래스 가져오기

가져오기 java.io.IOException; // 오류 처리를 위한 IOException 클래스 가져오기

공개 클래스 CreateFileExample{

공개 정적 무효 메인(문자열[] 인수){

노력하다{

파일 obj = new File("newFile.txt");

if(obj.createNewFile()){ // true를 반환하는 경우, 즉 성공적으로 생성됨

System.out.println("파일이 성공적으로 생성되었습니다:" + obj.getName());

}

else{ // false를 반환하는 경우, 즉 파일이 이미 존재합니다.

System.out.println("파일이 이미 존재합니다.");

}

}

catch (IOException e){ // 오류가 발생하면 예외를 포착합니다.

System.out.println("오류가 발생했습니다.");

e.printStackTrace();

}

}

}

산출:

파일이 성공적으로 생성되었습니다: newFile.txt

파일 정보 얻기

File 클래스에 정의된 다양한 메소드를 사용하여 이름, 길이, 절대 경로, 읽기 가능 등과 같은 파일의 다양한 정보에 액세스할 수 있습니다. 아래 예제에서는 파일 정보를 가져오는 방법 중 일부를 사용합니다.

가져오기 java.io.File;

공개 클래스 AccessInfoExample{

공개 정적 무효 메인(문자열[] 인수){

// 객체 생성

파일 obj = new File("newFile.txt");

if(obj.exists()){

// 파일명 가져오기

System.out.println("파일 이름은:" + obj.getName());

// 절대경로 구하기

System.out.println("파일의 절대 경로는 다음과 같습니다." + obj.getAbsolutePath());

// 파일이 쓰기 가능한지 확인

System.out.println("파일을 쓸 수 있습니까?" + obj.canWrite());

// 파일을 읽을 수 있는지 확인

System.out.println("파일을 읽을 수 있습니까?" + obj.canRead());

// 길이를 바이트 단위로 가져오기

// 아직 파일에 아무것도 쓰지 않았기 때문에 0으로 표시됩니다.

System.out.println("파일 크기(바이트):" + obj.length());

}

또 다른{

System.out.println("파일명" + obj.getName() + "존재하지 않습니다.");

}

}

}

산출:

파일 이름은 newFile.txt입니다.

파일의 절대 경로는 다음과 같습니다. D:JavaProgramming:newFile.txt

파일을 쓸 수 있습니까? 진실

파일을 읽을 수 있습니까? 진실

파일 크기(바이트): 0

위 예제의 출력은 파일 이름, 파일을 저장한 경로, 크기에 따라 다를 수 있습니다. 지정된 파일이 존재하지 않으면 "newFile.txt라는 파일이 존재하지 않습니다."라고 표시됩니다.

파일에 쓰기

바이트 데이터를 쓰려면 FileOutputStream 클래스를 사용하고 문자의 경우 FileWriter 클래스를 사용합니다. 아래 예제에서는 FileWriter 클래스와 미리 정의된 write() 메서드를 사용하여 "newFile" 내부에 무언가를 씁니다.

예제를 시작하기 전에 주의할 점은 쓰기 위해 파일을 열 때마다 close() 메서드로 닫아야 한다는 것입니다. 파일을 닫으면 Java 컴파일러가 파일에 쓰기 위해 할당한 리소스를 검색할 수 있습니다. 예제에서 수행하는 방법을 살펴보겠습니다.

가져오기 java.io.FileWriter; // FileWriter 클래스 가져오기

가져오기 java.io.IOException; // 오류 처리를 위한 IOException 클래스 가져오기

공개 클래스 WriteExample{

공개 정적 무효 메인(문자열[] 인수){

노력하다{

FileWriter obj = 새로운 FileWriter("newFile.txt");

obj.write("newFile.txt 파일에 기록됩니다!");

obj.close(); // 파일 닫기

System.out.println("파일에 성공적으로 작성하고 닫았습니다.");

}

catch(IO 예외 e){

System.out.println("오류가 발생했습니다.");

e.printStackTrace();

}

}

}

산출:

파일에 성공적으로 작성하고 닫았습니다.

파일에서 읽기

FileInputStream을 사용하여 바이트 데이터를 읽고 FileReader를 사용하여 파일에서 문자 데이터를 읽을 수 있습니다. 또는 Scanner 클래스를 사용하여 파일에서 읽을 수도 있습니다. 이미 FileWriter를 사용하여 데이터를 작성했으므로 이 예제에서는 Scanner 클래스를 사용하여 데이터를 읽습니다. 쓰기 작업과 마찬가지로 읽기 작업에서도 열려 있는 파일을 닫아야 합니다.

가져오기 java.io.File; // File 클래스 가져오기

가져오기 java.io.FileNotFoundException; // 오류 처리를 위한 클래스 가져오기

가져오기 java.util.Scanner; // 텍스트 파일을 읽기 위한 Scanner 클래스 가져오기

공개 클래스 ReadExample{

공개 정적 무효 메인(문자열[] 인수){

노력하다{

파일 obj = new File("newFile.txt");

스캐너 robj = 새로운 스캐너(obj);

동안 (robj.hasNextLine()){

문자열 데이터 정보 = robj.nextLine();

System.out.println(데이터 정보);

}

robj.close();

}

catch(FileNotFoundException 전자){

System.out.println("오류가 발생했습니다.");

e.printStackTrace();

}

}

}

산출:

이것은 newFile.txt 파일에 기록될 것입니다!

파일 삭제

File 클래스의 delete() 메서드를 사용하여 파일을 삭제할 수 있습니다. 폴더가 비어 있는 경우 전체 폴더를 삭제할 수도 있습니다. 아래 예제에서 "newFile.txt" 파일을 삭제해 보겠습니다.

가져오기 java.io.File; // 파일 클래스 가져오기

공개 클래스 DeleteExample{

공개 정적 무효 메인(문자열[] 인수){

파일 obj = new File("newFile.txt");

if(obj.delete()){

System.out.println("이름이 지정된 파일" + obj.getName() + "삭제에 성공했습니다.");

}

또 다른{

System.out.println("파일이 삭제되지 않았습니다.");

}

}

}

산출:

newFile.txt라는 파일이 성공적으로 삭제되었습니다.

또한 읽기: Java 프로젝트 아이디어 및 주제

세계 최고의 대학에서 온라인으로 소프트웨어 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

결론

이 게시물에서는 Java의 파일 처리에 대한 모든 것을 배웠습니다 . Java는 이러한 다양한 기능을 제공하므로 전 세계적으로 가장 널리 사용되는 프로그래밍 언어 중 하나입니다. 따라서 인도에서 Java 개발자의 급여 가 매우 높은 것은 놀라운 일이 아닙니다. Java 개발자가 되어 높은 급여를 받고 싶다면 upGrad의 무료 Java 온라인 과정 이 적합합니다.

이 과정은 귀중한 기술 향상 이니셔티브인 upStart 프로그램의 일부입니다. 무료 과정을 마치고 인증을 받으면 전체 스택 개발에서 upGrad의 PG 인증을 추가로 선택할 수 있습니다 . 프로젝트를 통해 실습 경험을 통해 400시간 이상의 학습 자료를 얻을 수 있습니다. 이 과정을 수강하고 Java 프로그래밍 개념으로 소프트웨어 개발 분야에서 뛰어납니다.

Java에서 파일을 읽고 쓰는 방법은 무엇입니까?

InputStream 클래스의 객체는 바이트를 읽을 수 있는 데이터 소스를 나타내고, OutputStream 클래스의 객체는 바이트를 쓸 수 있는 대상을 나타냅니다. 이러한 객체는 java.io 패키지의 다양한 클래스와 함께 사용되어 파일을 읽고 쓰고, 소켓에서 데이터를 읽고 쓰고, 다양한 기타 입력 및 출력 작업을 수행합니다.

Java의 다른 파일 처리 라이브러리는 무엇입니까?

Java에는 여러 파일 처리 라이브러리가 제공됩니다. 각각의 용도와 용도가 있습니다. java.io 패키지는 기본 파일 처리 클래스를 정의합니다. 따라서 가장 범용적인 파일 처리 라이브러리라고 말할 수 있습니다. New Input/Output 패키지라고도 하는 java.nio 패키지는 주로 높은 처리량, 낮은 대기 시간 및 낮은 대역폭 데이터 전송에 사용됩니다. 안전하고 가벼우며 플랫폼에 독립적입니다. 이 패키지는 채널 기반 API를 추가하여 java.io 패키지를 확장합니다. 또한 java.nio.file 패키지는 파일 시스템에 대한 프로그래밍 인터페이스용입니다. 파일 시스템은 정보가 저장되는 물리적 매체와 독립적인 데이터의 계층적 조직입니다. 파일 시스템은 응용 프로그램 간의 파일 공유 및 프로세스 간 통신을 가능하게 합니다. 또한 java.nio.file.attribute 패키지는 파일 시스템 속성에 대한 클래스 및 인터페이스용입니다.

Java에서 파일 처리의 응용 프로그램은 무엇입니까?

파일 처리는 흥미롭고 가치 있는 Java 프로그래밍 주제 중 하나입니다. Java 프로그래머는 Java에서 파일을 생성, 열기, 읽기, 쓰기, 추가 및 삭제하는 방법을 아는 것이 중요합니다. 이것은 프로그래머가 파일의 데이터를 조작하는 데 도움이 됩니다. 파일 길이 찾기, 파일 내용 읽기, 파일 쓰기 가능 여부 결정 등과 같이 파일에 대해 수행할 수 있는 많은 작업이 있습니다.