1. IO 스트림의 분류
캐릭터 스트림
리더
inputStreamReader (노드 스트림)
BufferedReader (프로세싱 스트림)
작가
outputStreamWriter (노드 스트림)
버퍼링 라이터 (처리 스트림)
인쇄기
바이트 스트림
입력 스트림
FileInputStream (노드 스트림)
BufferedInputStream (처리 스트림)
ObjectInputStream (처리 스트림)
Printstream
출력 스트림
FileOutputStream (노드 스트림)
BufferedOutputStream (처리 스트림)
ObjectOutputStream (처리 스트림)
중단 점 처리 스트림
randomaccessfile
2. IO 스트림 사용
1. 변환 스트림 사용
fileInputStream in = new FileInputStream (newFile ( "")); readErreader = new inputStreamReader (in); // byte to ar Writer Writer = New OutputStreamwriter (out); // charact to byte
2. 객체 직렬화, 객체는 직렬화 가능한 인터페이스를 구현해야합니다.
fileoutputStreamFileOutputStream = new FileOutputStream ( "C : //users//lx//desktop//record.txt"); ObjectOutputStreamObjectOutOutSprestream = 새로운 ObjectOutputStream (FileOutputStream); ObjectOutputStream.writeObject (Object); // 지정된 파일에 객체를 쓰십시오. ObjectOutputStream.close (); fileInputStreamFileInputStream = new FileInputStream ( "C : //users//lx//desktop//record.txt"); ObjectInputStreamObjectInputStream = New ObjectInputStream (FileInputStream); Object = ObjectInputStream.readoBject (); // 객체 객체를 읽습니다. fileInputStream.lose ();
3. 중단 점의 적용
공개 클래스 사본은 스레드를 확장 {// multithread를 사용하여 longstart; longend; filleSorce; filetArgetDir; publiccopy (longstart, Long End, File Component, File TargetDir) {// 사본의 길이, 사본의 시작 위치를 사용하여 사본의 시작 위치 및 소스 수퍼 ()를 실현할 수 있습니다. this.start = 시작; this.end = 끝; this.sorce = sort; this.targetDir = targetDir;}@Override PublicVoid run () {try {randomaccessfilesouceraf = new randomAccessFile (sorce, "r"); randomaccessfiletargetraf = new randomAccessFile (newFile (targetDir, sorce.getName ()), "rw"); souceraf.seek (start); targetraf.seek (start); intlen = 0; byte [] bs = new byte [1024]; longseek; system.out.println (start+"--->"+this souceraf.read (bs))! = -1) {targetraf.write (bs, 0, len); seek = souceraf.getfilepointer (); // if (seek == end) {break;}} targetraf.close (); souceraf.close ();} catch (ioexception e) {) {) {);4. 바이트 스트림 사용
public class test_inputStream {// 텍스트 파일 내용을 얻기 위해 바이트 스트림을 사용하지만 문제가 발생하기 쉽습니다. // int 길이는 경계에서 벗어날 수 있습니다 (String [] args) public static void main (string [] args)은 ioexception {inputStream inputStream = new FileInputStream ( "c : //users//txt"); 바이트 [] b = 새로운 바이트 [inputStream.available ()]; inputStream.Read (b); 문자열 str = 새 문자열 (b); System.out.println (str); }*/// Garbled 코드는 공개 정적 무효 메인 (String [] args)이 IoException {file file = new File ( "C : //users//lx//desktop//test//33.txt"); inputStream inputStream = new FileInputStream (파일); // 통계 길이 int len = 0; // declares 102의 실제 길이로 표시됩니다. 바이트 [] b = 새로운 바이트 [2]; StringBuffer sbuffer = new StringBuffer (); (len = inputStream.read (b))! = -1) {sbuffer.append (new String (b, 0, len));} system.out.println (sbuffer.toString ());}} // byte stream public void copy (file sourcefile, file targetDir)를 사용하여 파일을 복사합니다. null; fileoutputStreamFileOutStream = null; fileInputStream = new FileInputStream (sourceFile); filetArgetFile = 새 파일 (targetDir, sourceFile.getName ()); fileOutputStream = new FileOutputStream (targetFile); byte [] b = new byte [1024]; intlen = 0; ! = -1) {fileoutputStream.write (b, 0, len);}}5. 캐시 된 문자 스트림 사용
publicstatic void main (string [] args)은 ioexception을 던지기 {// cached 문자 스트림 구현 파일을 작성하여 inputstreamin = system.in; readerReader = new inputStreamReader (in); bufferedReaderBr = new bufferedReader (reader); bufferedWriterBW = new FileWRiter (new FiperedWriter) file ( "src/1.txt")); strings = "" "; while ((s = br.readline ())! = null) {bw.write (s); bw.newline (); bw.flush (); // 문자 스트림은 잊지 않습니다 플러시 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!요약
위의 내용은 Java IO 스트림 관련 지식 코드 분석에 대한이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!