>  기사  >  Java  >  JAVA 학습 IO 연산 바이트 스트림 및 문자 스트림(요약 공유)

JAVA 학습 IO 연산 바이트 스트림 및 문자 스트림(요약 공유)

WBOY
WBOY앞으로
2022-04-07 13:23:411745검색

이 기사는 java에 대한 관련 지식을 제공합니다. 주로 바이트 스트림 및 문자 스트림을 포함한 IO 작업과 관련된 문제를 함께 살펴보겠습니다.

JAVA 학습 IO 연산 바이트 스트림 및 문자 스트림(요약 공유)

추천 학습: "java 비디오 튜토리얼"

서문: 이 장에서는 코드 구현과 함께 그림을 통해 바이트 스트림과 문자 스트림의 기본 사용법을 자세히 소개합니다.

IO 작업

JAVA 학습 IO 연산 바이트 스트림 및 문자 스트림(요약 공유)

바이트 스트림

  • java.io.InputStream 입력 스트림, 주로 파일 내용을 읽는 데 사용됩니다.

  • java.io.OutputStream 출력 스트림. 주로 콘텐츠 바이트를 파일에 쓰는 데 사용됩니다.

FileInputStream

이 스트림은 파일에서 데이터를 읽는 데 사용되며 해당 객체는 new 키워드로 생성될 수 있습니다.
객체를 생성하는 데 사용되는 다양한 생성자 메서드가 있습니다.
문자열 형식의 파일 이름을 사용하여 파일을 읽는 입력 스트림 객체를 생성할 수 있습니다.

InputStream f = new FileInputStream("D:/hello");

파일 객체를 사용하여 파일을 읽는 입력 스트림 객체를 생성할 수도 있습니다. 먼저 File() 메서드를 사용하여 파일 개체를 만들어야 합니다.

File f = new File("D:/hello");InputStream in = new FileInputStream(f);

FileOutputStream

이 클래스는 파일을 만들고 파일에 데이터를 쓰는 데 사용됩니다.
스트림이 출력을 위해 파일을 열기 전에 대상 파일이 존재하지 않으면 스트림이 파일을 생성합니다.
FileOutputStream 객체를 생성하는 데 사용할 수 있는 생성자가 두 개 있습니다.
문자열 파일 이름을 사용하여 출력 스트림 개체를 만듭니다.

OutputStream f = new FileOutputStream("D:/hello");

파일 개체를 사용하여 파일을 쓰기 위한 출력 스트림을 만들 수도 있습니다. 먼저 File() 메서드를 사용하여 파일 개체를 만들어야 합니다.

File f = new File("D:/hello");OutputStream fOut = new FileOutputStream(f);

바이트 스트림 읽기 및 쓰기 사례

D:/hello.txt 파일의 내용을 읽은 다음 파일에 입력합니다. D:/test.

      public class Mk {
        public static void main(String[] args) throws IOException {
            File file=new File("D://hello.txt");
            File file1= new File("D://test.txt");
            InputStream is=new FileInputStream(file);
            OutputStream out=new FileOutputStream(file1);
            //定义byte数组用来暂存数据
            byte[] buf = new byte[1024];
            //读取Is中的内容存到buf
            is.read(buf);
            //将buf中的内容写入out
            out.write(buf);
            is.close();
            out.close();
        }
        }

문자 스트림

FileWriter

txt에 파일 쓰기 인스턴스

public class A {
    public static void main(String[] args) throws IOException {
        FileWriter fw = new FileWriter("user.txt", true);
        fw.write("你好中国1");
        fw.write("你好中国2");
        fw.write("你好中国3");
        fw.close();
    }}

JAVA 학습 IO 연산 바이트 스트림 및 문자 스트림(요약 공유)
JAVA 학습 IO 연산 바이트 스트림 및 문자 스트림(요약 공유)

FileReader

읽기 인스턴스 file
내용을 변경했습니다 to new line here
JAVA 학습 IO 연산 바이트 스트림 및 문자 스트림(요약 공유)
br .ready()는 이 라인 스트림이 비어 있는지 확인하는 것입니다
br.readLine()은 한 라인을 출력한 후 자동으로 커서를 다음 라인으로 가리킵니다.

public class A {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("user.txt"));
        while (br.ready()) {
            System.out.println(br.readLine());
        }
        br.close();
    }}

JAVA 학습 IO 연산 바이트 스트림 및 문자 스트림(요약 공유)

바이트 스트림과 문자 스트림의 차이점

바이트 스트림과 문자 스트림의 사용법은 매우 유사하므로 연산 코드의 차이 외에 차이점은 무엇인가요?

바이트 스트림 자체는 연산 시 버퍼(메모리)를 사용하지 않고 파일 자체로 직접 연산하는 반면, 문자 스트림은 연산 시 버퍼를 사용합니다
바이트 스트림은 파일 연산 시 파일이 리소스가 닫히지 않은 경우에도 출력됩니다(close 메서드). 그러나 문자 스트림이 close 메서드를 사용하지 않으면 콘텐츠가 출력되지 않습니다. 이는 문자 스트림이 버퍼를 사용하고 플러시 메서드를 사용하여 강제할 수 있음을 나타냅니다. 버퍼를 새로 고치면 닫히지 않고 콘텐츠를 출력할 수 있습니다. 그러면 개발 시 바이트 스트림을 사용하는 것이 더 낫습니까? 아니면 문자 스트림을 사용하는 것이 더 낫습니까?

모든 하드디스크에 파일을 저장하거나 파일을 전송할 때 사진을 포함하여 바이트 단위로 이루어지며 문자는 메모리에서만 형성되므로 바이트를 사용하는 작업이 가장 일반적입니다. Java 프로그램에서 복사 기능을 구현하려면 바이트 스트림을 사용하여 작업하고(이미지가 복사될 수 있음) 동시에 읽고 써야 합니다(메모리 절약을 위해).

추천 학습: "
java 비디오 튜토리얼

"

위 내용은 JAVA 학습 IO 연산 바이트 스트림 및 문자 스트림(요약 공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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