2020.11.04고급자바 수업노트

원래있던 이미지 파일을 복사해서 다른 경로에 붙여 넣기  


package kr.or.ddit.basic;


import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;


public class FileCopyTest2 {


public static void main(String[] args) {

String fileName = "극한직업.jpg"; 

File file = new File("d:/D_Other/ " + fileName); 

if(!file.exists()) {

System.out.println(file.getPath() + "파일이 없습니다.");

System.out.println("복사작업을 중지합니다.");

return ; 

}

try {

//복사할 파일 스트림 객체 생성 ( 원본 파일용 ) 

FileInputStream fin = new FileInputStream(file); 

//복사할 파일 스트림 객체 생성 ( 저장할 파일용)


FileOutputStream fout = new FileOutputStream("d:/D_Other/연습용/극한직업_복사본.jpb"); 

System.out.println("복사시작...");

int data ; // 읽어온 데이터를 저장할 변수 

while((data = fin.read()) != -1) {

fout.write(data);

}

fout.flush();

//사용했던 스트림 닫기 

fout.close();

fin.close();

} catch (IOException e) {

// TODO: handle exception

}


}


}


BufferedInputStream, BufferedOutputStream, 


모든 보조스트림은 기본이 되는 스트림이 있어야 한다. 
BufferedInputStream(InputStream in ) 괄호속에 기본이 되는 스트림을을 넣어서 생성해야함 

BufferedInputStream(InputStream in , int size ) size 는 버퍼의 사이즈 

BufferedInputStream(InputStream in )  

없는 것은 버퍼 size 가 기본사이즈로 생성이 된다.


1024 바이트 : 1키로 바이트    

바이트 키로 메가 기가 테라 


flush () 명령은 버퍼스트림 ( 버퍼를 사용하는 보조스트림을 사용하는 ) 부분에서는 출력할
떄는 flush()  를 반드시 해주는게 좋다. 

보조스트림만 닫아도 기반스트림도 닫힌다. 



public class UserInfor implements jaba.io.Serializable { ~~~} 를 해줘야 직렬화. 가능 

저장할때 직렬화대상에서 제외되는 것 : 0, null 같이 기본으로 저장된다. 

transient String password ; 처럼 써주면 직렬화 대상에서 제외된다. 


상속했을떄 부모 ( 조상) 멤버들은 직렬화 대상에서 제외 




댓글