본문 바로가기
웹 프로그래밍 기초/자바기반의 웹&앱 응용SW 개발자

자바기반의 웹&앱 응용 SW개발자 양성과정 2일차 -7

by oncerun 2020. 2. 20.
반응형
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();로 닫아주지 않는다면 그 운영체제는 파일 버퍼와 데이터를 받을 준비를 지속적으로 하고 있기 때문에 메모리 누수가 발생될 수 있다.

반응형

댓글