>Java >java지도 시간 >Java 파일 읽기 및 쓰기 작업 분석 예

Java 파일 읽기 및 쓰기 작업 분석 예

WBOY
WBOY앞으로
2023-04-24 14:43:071147검색

java의 IO

Java 프로그램을 사용하면 스트림을 통해 입력 및 출력 장치로 데이터를 전송할 수 있습니다. Java의 스트림은 모두 java.io 패키지에 포함되어 있으며 IO(입력 및 출력) 스트림이라고 합니다. IO 스트림은 다양한 작동 데이터에 따라 바이트 스트림과 문자 스트림으로 나눌 수 있으며, 프로그램은 입력 스트림에서 데이터를 읽고 출력 스트림에 쓸 수 있습니다. Data는 IO 패키지에서 바이트 스트림의 입력과 출력은 각각 java.InputStream과 java.io.OutputStream으로 표현되고, 문자 스트림의 입력과 출력은 java.io.Reader와 java로 표현됩니다. io.Writer입니다.

바이트 스트림

컴퓨터에는 텍스트, 그림, 오디오, 비디오 등 모든 파일이 바이너리 형식으로 존재합니다. 바이트 스트림은 프로그램에서 가장 일반적으로 사용되는 스트림이며 데이터 전송 방향에 따라 구분됩니다. JDK는 입력 스트림과 바이트 출력 스트림이라는 두 가지 추상 클래스를 제공합니다. 이들은 바이트 스트림의 상위 상위 클래스입니다.

InputStream은 일반적으로 사용되는 메서드

int read()//입니다. 입력 스트림에서 8비트 바이트를 읽고 이를 0에서 255 사이의 정수로 변환하고 이 정수를 반환합니다.
int read(byte[]b) //입력 스트림에서 여러 바이트를 읽고 바이트 배열에 저장합니다. 매개변수 b로 지정하고 정수 테이블 4를 반환하여 바이트 수를 읽습니다.
int read(byte[]b,int off,int len ​​)//입력 스트림에서 여러 바이트를 읽고 바이트 배열에 저장합니다. 매개변수 b로 지정됨. off는 데이터 저장을 시작할 바이트 배열의 시작 인덱스를 지정하고 len은 읽은 바이트 수를 나타냅니다. void close ()//이 입력 스트림을 닫고 스트림과 관련된 모든 시스템 리소스를 해제합니다

OutputStream의 일반적인 방법

void write(int b)//출력 스트림에 바이트 쓰기

void write(byte[ ]b)//매개변수 b로 지정된 바이트 배열의 모든 바이트를 출력 스트림에 쓰기
void write(byte[]b,int off,int len)//지정된 바이트 배열의 오프셋 off에서 시작 len 바이트가 출력 스트림에 기록됩니다.
void 플러시()//이 출력 스트림을 새로 고치고 버퍼링된 모든 출력을 강제로 필기합니다. bytes
void close()//이 출력 스트림을 닫고 이 스트림과 관련된 모든 시스템을 해제합니다. 리소스

flush() 메서드는 현재 출력 스트림 버퍼(일반적으로 바이트 배열)의 데이터를 강제로 기록하는 데 사용됩니다. 이 프로세스를 플러시라고 합니다. 두 클래스 InputStream 및 OutputStream은 데이터 읽기 및 쓰기와 관련된 몇 가지 메서드를 제공하지만 이 두 클래스는 추상 클래스이므로 인스턴스화할 수 없습니다.

바이트 스트림 파일 읽기 및 쓰기

컴퓨터의 데이터는 기본적으로 하드 디스크의 파일에 저장되므로 파일을 실행할 때 파일에서 데이터를 읽어서 파일에 씁니다. 쓰기 작업을 위한 두 가지 클래스입니다. 파일에서 데이터를 읽는 것은 반복되는 작업이므로 데이터를 계속해서 읽으려면 루프 문이 필요합니다.

 package IO;
 import java.io.FileInputStream;
 public class Li01 {
     public static void main(String[] args) throws Exception{
         FileInputStream in=new FileInputStream("test.txt");
         int b=0;
         while(true){
             b=in.read();
             if(b==-1){
                 break;
             }
             System.out.print(b+" ");
         }
         in.close();
     }
 }

데모 결과

Java 파일 읽기 및 쓰기 작업 분석 예

숫자가 출력되는 이유는 하드디스크에 있는 파일들이 바이트 형태로 존재하기 때문입니다. 파일 데이터를 읽어올 때 해당 디렉터리에 해당 파일이 존재하고 있는지 확인해야 합니다. 읽을 수 있습니다.

파일에 데이터 쓰는 방법

 package IO;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
 import java.nio.charset.StandardCharsets;
 public class Li02 {
     public static void main(String[] args) throws Exception{
         OutputStream out=new FileOutputStream("example1.txt");
         String str="好好学习,天天向上!";
         byte[]b=str.getBytes(StandardCharsets.UTF_8);
         for(int i=0;i<b.length;i++){
             out.write(b[i]);
         }
         out.close();
     }
 }

Java 파일 읽기 및 쓰기 작업 분석 예

FileOutputStream을 통해 데이터를 쓰면 example1.txt 파일이 자동으로 생성되어 해당 파일에 데이터가 기록됩니다. 내용이 지워진 후 새로운 데이터가 작성됩니다. 기존 파일에 내용을 추가하려면 파일 이름 뒤에 부울 값을 추가하고 true로 설정하면 됩니다.

package IO;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
 import java.nio.charset.StandardCharsets;
 public class Li02 {
     public static void main(String[] args) throws Exception{
         OutputStream out=new FileOutputStream("example1.txt",true);
         String str="好好学习,天天向上!";
         byte[]b=str.getBytes(StandardCharsets.UTF_8);
         for(int i=0;i<b.length;i++){
             out.write(b[i]);
         }
         out.close();
     }
 }

Java 파일 읽기 및 쓰기 작업 분석 예

위 내용은 Java 파일 읽기 및 쓰기 작업 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제