> Java > java지도 시간 > Java에서 io 스트림은 무엇을 의미합니까?

Java에서 io 스트림은 무엇을 의미합니까?

PHP中文网
풀어 주다: 2017-06-21 09:29:50
원래의
2761명이 탐색했습니다.

1. 입력 스트림에서는 데이터를 읽을 수만 있고 쓸 수는 없습니다. 출력 스트림은 바이트 데이터를 쓸 수만 있고 읽을 수는 없습니다.

2. InputStream의 유형은 다음과 같습니다.

ByteArrayInputStream     包含一个内存缓冲区,字节从中取出。
FileInputStream          从文件中获得字节。
ObjectInputStream        用来恢复被序列化的对象。
PipedInputStream         管道输入流,读取管道内容。多和PipedOutputStream一起用于多线程通信。
SequenceInputStream      是多种输入流的逻辑串联,从第一个输入流读取,直到最后一个输入流。
StringBufferInputStream  读取的字节由字符串提供。
로그인 후 복사

2. OutputStream의 유형도 다음과 같습니다.

ByteArrayOutputStream     该类实现了一个输出流,其数据被写入由byte数组充当的缓冲区,缓冲区会随着数据的不断写入而自动增长。 
FileOutputStream          该类实现了一个输出流,其数据写入文件。
ObjectOutputStream        该类将实现了序列化的对象序列化后写入指定地方。  
PipedOutputStream         管道的输出流,是管道的发送端。
로그인 후 복사

3. (초기화 시 사용)

ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("Logon.out"));
로그인 후 복사

4. File 클래스는 파일을 참조하지 않지만 일련의 파일 이름을 나타내기도 합니다. 파일 세트를 나타내는 경우 list() 메서드를 사용하여 쿼리할 수 있습니다. 세트.

5. StreamTokenizer는 모든 입력 스트림을 일련의 숫자로 분할하는 데 사용됩니다. StringTokenizer는 StreamTokenizer와 매우 유사한 기능을 제공하지만 C#의 분할() 메서드와 비슷합니다.

6. Zip을 사용하여 파일을 압축하는 단계:

먼저 압축 파일을 생성합니다:

FileOutputStream f =new FileOutputStream("test.zip");
CheckedOutputStream csum =new CheckedOutputStream(
f, new Adler32());
ZipOutputStream out =new ZipOutputStream(new BufferedOutputStream(csum));
로그인 후 복사
out.setComment("A test of Java Zipping");//压缩文件注释信息
로그인 후 복사

그런 다음 압축할 파일을 추가합니다.

out.putNextEntry(new ZipEntry(test.txt);
로그인 후 복사

필요한 경우 계속해서 파일을 추가할 수 있습니다. 하지만 out 클래스에 이미 ZipEntry 클래스가 있는지 확인해야 합니다.

소스 코드:

import java.io.*;import java.util.*;import java.util.zip.*;public class ZipCompress {public static void main(String[] args) {try {
            FileOutputStream fileOutputStream = new FileOutputStream("test.zip");
            CheckedOutputStream csum = new CheckedOutputStream(fileOutputStream, new Adler32());
            ZipOutputStream outputStream = new ZipOutputStream(new BufferedOutputStream(csum));
            outputStream.setComment("A test of java Zipping");
            System.out.println("Writing file" + "zip.txt");
            BufferedReader in = new BufferedReader(new FileReader("zip.txt"));
            outputStream.putNextEntry(new ZipEntry("zip.txt"));// int c;// while ((c = in.read()) != -1) {// outputStream.write(c);// }// in.close();outputStream.write("123".getBytes());
            outputStream.close();
            System.out.println("Checksum:" + csum.getChecksum().getValue());
            System.out.println("Reading file");
            FileInputStream fileInputStream = new FileInputStream("test.zip");
            CheckedInputStream csumi = new CheckedInputStream(fileInputStream, new Adler32());
            ZipInputStream in2 = new ZipInputStream(new BufferedInputStream(csumi));
            ZipEntry zipEntry;
            System.out.println("Checksum:" + csumi.getChecksum().getValue());while ((zipEntry = in2.getNextEntry()) != null) {
                System.out.println("Reading file:" + zipEntry);int x;while ((x = in2.read()) != -1) {
                    System.out.println(x);
                }

            }

            in2.close();

            ZipFile zf = new ZipFile("test.zip");
            Enumeration e = zf.entries();while (e.hasMoreElements()) {
                ZipEntry ze2 = (ZipEntry) e.nextElement();
                System.out.println("File: " + ze2);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
로그인 후 복사

7. 직렬화와 외부화 가능 인터페이스의 차이점 둘 다 클래스를 직렬화할 수 있는 인터페이스인 반면, 외부화 가능은 직렬화된 부분을 제어할 수 있다는 것입니다. , 부분 직렬화.

8.직렬화 제어 방법: (1) 임시(임시) 키워드를 적용합니다.现 (2) 직렬화 가능 인터페이스를 구현하고 ") 또는" 메소드를 추가("덮어쓰기" 또는 "구현" 대신 "추가") 및 readObject()를 추가할 수 있습니다. 객체가 직렬화되거나 재어셈블되면 해당 두 메서드가 각각 호출됩니다.

위 내용은 Java에서 io 스트림은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿