Java 프로그램을 사용하면 스트림을 통해 입력 및 출력 장치로 데이터를 전송할 수 있습니다. Java의 스트림은 모두 java.io 패키지에 포함되어 있으며 IO(입력 및 출력) 스트림이라고 합니다. IO 스트림은 다양한 작동 데이터에 따라 바이트 스트림과 문자 스트림으로 나눌 수 있으며, 프로그램은 입력 스트림에서 데이터를 읽고 출력 스트림에 쓸 수 있습니다. Data는 IO 패키지에서 바이트 스트림의 입력과 출력은 각각 java.InputStream과 java.io.OutputStream으로 표현되고, 문자 스트림의 입력과 출력은 java.io.Reader와 java로 표현됩니다. io.Writer입니다.
컴퓨터에는 텍스트, 그림, 오디오, 비디오 등 모든 파일이 바이너리 형식으로 존재합니다. 바이트 스트림은 프로그램에서 가장 일반적으로 사용되는 스트림이며 데이터 전송 방향에 따라 구분됩니다. JDK는 입력 스트림과 바이트 출력 스트림이라는 두 가지 추상 클래스를 제공합니다. 이들은 바이트 스트림의 상위 상위 클래스입니다.
OutputStream의 일반적인 방법int read()//입니다. 입력 스트림에서 8비트 바이트를 읽고 이를 0에서 255 사이의 정수로 변환하고 이 정수를 반환합니다.
int read(byte[]b) //입력 스트림에서 여러 바이트를 읽고 바이트 배열에 저장합니다. 매개변수 b로 지정하고 정수 테이블 4를 반환하여 바이트 수를 읽습니다.
int read(byte[]b,int off,int len )//입력 스트림에서 여러 바이트를 읽고 바이트 배열에 저장합니다. 매개변수 b로 지정됨. off는 데이터 저장을 시작할 바이트 배열의 시작 인덱스를 지정하고 len은 읽은 바이트 수를 나타냅니다. void close ()//이 입력 스트림을 닫고 스트림과 관련된 모든 시스템 리소스를 해제합니다
void write(int b)//출력 스트림에 바이트 쓰기flush() 메서드는 현재 출력 스트림 버퍼(일반적으로 바이트 배열)의 데이터를 강제로 기록하는 데 사용됩니다. 이 프로세스를 플러시라고 합니다. 두 클래스 InputStream 및 OutputStream은 데이터 읽기 및 쓰기와 관련된 몇 가지 메서드를 제공하지만 이 두 클래스는 추상 클래스이므로 인스턴스화할 수 없습니다. 바이트 스트림 파일 읽기 및 쓰기컴퓨터의 데이터는 기본적으로 하드 디스크의 파일에 저장되므로 파일을 실행할 때 파일에서 데이터를 읽어서 파일에 씁니다. 쓰기 작업을 위한 두 가지 클래스입니다. 파일에서 데이터를 읽는 것은 반복되는 작업이므로 데이터를 계속해서 읽으려면 루프 문이 필요합니다.void write(byte[ ]b)//매개변수 b로 지정된 바이트 배열의 모든 바이트를 출력 스트림에 쓰기
void write(byte[]b,int off,int len)//지정된 바이트 배열의 오프셋 off에서 시작 len 바이트가 출력 스트림에 기록됩니다.
void 플러시()//이 출력 스트림을 새로 고치고 버퍼링된 모든 출력을 강제로 필기합니다. bytes
void close()//이 출력 스트림을 닫고 이 스트림과 관련된 모든 시스템을 해제합니다. 리소스
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(); } }데모 결과 숫자가 출력되는 이유는 하드디스크에 있는 파일들이 바이트 형태로 존재하기 때문입니다. 파일 데이터를 읽어올 때 해당 디렉터리에 해당 파일이 존재하고 있는지 확인해야 합니다. 읽을 수 있습니다. 파일에 데이터 쓰는 방법
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(); } }
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 파일 읽기 및 쓰기 작업 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!