웹 프로그래밍 기초/자바기반의 웹&앱 응용SW 개발자
자바기반의 웹&앱 응용 SW개발자 양성과정 2일차 -7
oncerun
2020. 2. 20. 17:58
반응형
package practice;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Scanner;
public class Practice0220 {
public static void main(String[] args) throws IOException, FileNotFoundException{
//1. 파일 입력 버퍼를 사용하기 위해 객체 fis를 생성한다.
FileInputStream fis = new FileInputStream("C:\\acorn\\20200217\\workspace\\dd.txt");
//2. fis객체를 이용해서 단어/문장/줄로 읽어주는 Scanner api의 객체 scan을 생성한다.
Scanner scan = new Scanner(fis);
//3. scan의 기능인 nextInt() 함수를 이용해서 첫 번째 정수 값을 읽어서 x 변수에 대입하고
int x = scan.nextInt();
//4. nextInt() 함수를 다시 호출해서 두 번째 정수값을 읽어서 y변수에 대입한다.
int y = scan.nextInt();
////5. x와 y값을 더한 결과를 화면에 출력한다.
//System.out.println(x + y);
int result = x + y;
System.out.println(result);
//사용후 사용한 객체를 꼭 반환해준다.
scan.close();
fis.close();
//1. 파일 출력을 위한 FileOutputStream 객체 fos를 생성한다.
FileOutputStream fos = new FileOutputStream("C:\\acorn\\20200217\\workspace\\dd.out");
//2. 문자열 출력을 쉽게하기 위해서 PrintStream객체 out을 생성한다.
PrintStream out = new PrintStream(fos);
//3. out객체의 println()함수를 이용해서 result 값을 출력한다.
out.println("123123213");
//
System.out.println("작업완료");
//사용후 사용한 객체를 꼭 반환해준다.
out.close();
fos.close();
}
}
사용한 객체를 반환해주는 이유.
자바는 자바 플랫폼에서만 데이터를 사용하는 게 아니라 OS에서도 데이터를 사용할 수 도 있다.
사용자가 필요한 기능의 API에게 요청을 하면 OS는 그 데이터에 파일 버퍼를 생성시킨 후 자바 플랫폼에 전달해 사용을 하게 만들어 주고 만약 사용자가 객체를 사용한 뒤 Close();로 닫아주지 않는다면 그 운영체제는 파일 버퍼와 데이터를 받을 준비를 지속적으로 하고 있기 때문에 메모리 누수가 발생될 수 있다.
반응형