개발/Java

[JAVA] Resource leak: 'scanner' is never closed 경고 해결법

Dane.Kim 2022. 8. 22.
Scanner scanner = new Scanner(System.in);

사용 시 스캐너가 열려있는 상태로 유지되므로 자원 낭비를 줄이기 위해 닫아주어야 한다.

 

닫아주는 방법은 scanner 사용이 끝난 후

scanner.close(); 를 이용해 닫아주면 됩니다.

 

예를 들면,

package algorithm;
import java.math.BigInteger;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

 //범위를 맞춰주기 위해 int 대신 BigInteger를 사용해주어야 한다.
    BigInteger A = sc.nextBigInteger();
    BigInteger B = sc.nextBigInteger();

    System.out.println(A.add(B));
    System.out.println(A.subtract(B));
    System.out.println(A.multiply(B));

    sc.close();
	}
}

처럼 사용해주면 된다.

댓글