서문 : IO 스트림은 주로 두 가지 범주, 즉 바이트 스트림과 문자 스트림으로 나뉩니다.
알아채다:
1. 오디오 파일, 그림 및 비디오에 바이트 스트림을 사용하십시오 (광범위한).
2. 텍스트 만 포함되면 문자 스트림을 사용하십시오
바이트 스트림을 사용하여 텍스트 콘텐츠 복사 (다른 파일도 가능)
코드는 다음과 같습니다.
import java.io.file; import java.io.fileinputStream; import java.io.filenotfoundException; import java.io.fileoutputStream; import java.io.ioexception; import java.io.inputStream; import java.io.outputstream; public static void void (string) [] artic void () infile = 새 파일 ( "src.txt"); // 소스 파일 inputStream in = new FileInputStream (infile); // 파일 입력 스트림 파일 Outfile = 새 파일 ( "tar.txt"); // target file outputStream out = new FileOutputStream (Outfile); // 파일 출력 스트림 바이트 [] buff = new Byte [1024]; // 버퍼를 생성하고 1024 바이트의 메모리를 int num = 0으로 할당합니다. while ((num = in.read (buff))! = -1) {// 읽기 최대 바이트 수가 1024 out.write (buff, 0, num)인지 판단합니다. // out.write (buff); // 이것은 괜찮지 만 파일 내용이 잘못되기 쉽습니다. out.flush (); // 버퍼 문자열 S = 새 문자열 (버프); System.out.println ( "파일 컨텐츠가 성공적으로 복사"); System.out.println ( "파일 복사 컨텐츠는 /n"+s); } in.close (); // 입력 스트림을 닫아 out.close (); // 출력 스트림을 닫습니다. // infile.delete (); // 소스 파일을 삭제 // outfile.renameto (새 파일 ( "Rename.txt")); // 출력 파일 이름} catch (filenotfoundException e) {e.printstacktrace (); // 명령 줄에 예외 정보와 프로그램의 오류 이유} catch (ioException e) {e.printstacktrace (); }}}문자 스트림을 사용하여 텍스트 내용 복사 (텍스트 파일 만)
코드는 다음과 같습니다.
import java.io.bufferedReader; import java.io.bufferedWriter; import java.io.file; import java.io.filenotfoundException; import java.io.filereader; import java.io.filewriter; import java.io.io exception {public void main (string) {string (string) {public void vile; infile = 새 파일 ( "d : /src.txt"); // 소스 파일 filereader filereader = new Filereader (infile); // 파일 읽기 문자 스트림 bufferedReader bufferedReader = new bufferedReader (filereader); // 캐시 파일에 읽기 문자를 넣습니다. exfile = 새 파일 ( "d : /tar.txt"); // 대상 파일 FILEWRITER FILEWRITE = NEW FILEWRITER (Outfile); // 문자 스트림 버퍼링 라이터 버퍼링 라이터를 쓰기 = 새로운 버퍼링 라이터 (filewrite); // 캐시 스트림을 캐시 문자열에 입력 할 문자열 s = ""; 문자열 str = ""; while ((s = bufferedReader.Readline ())! = null) {// 파일 문자 스트림이 읽었는지 확인 bufferedWriter.write (s); // 문자 스트림 캐시는 파일 bufferedWriter.newline ()에 기록됩니다. // 라인별로 읽기, NewLine 문자가 발생하면 Newline BufferedWriter.flush (); // 신선한 캐시 str+= s; } system.out.println ( "파일 카피 컨텐츠는 /n"+str); // 입력 및 출력 스트림을 닫습니다. filereader.close (); bufferedReader.close (); filewrite.close (); bufferedWriter.close (); bufferedWriter.close (); // infile.delete (); // 소스 파일을 삭제 // outfile.renameto (새 파일 ( "Rename.txt")); // 출력 파일 이름} catch (filenotfoundException e) {e.printstacktrace (); // 명령 줄에 예외 정보와 프로그램의 오류 이유} catch (ioException e) {e.printstacktrace (); }}}설명 :
덮어 쓰는 대신 파일 콘텐츠를 추가하여 텍스트 콘텐츠를 복사하려면 다음과 같이 수정하십시오.
outputStream out = 새 FileOutputStream (Outfile, True); // 바이트 스트림
filewriter filewrite = 새로운 filewriter (Outfile, True); // 캐릭터 스트림
문자 스트림에서 캐시 크기를 지정하려면 다음과 같이 수정하십시오.
BufferedWriter BufferedWriter = New BufferedWriter (Filewrite, 1024);