본문 바로가기

개발자노트

Resource를 (클래스 생성없이) JAVA로 불러오기 (FileInputStream)

저번에 했던 객체를 생성하여 JAVA로 불러오는 것 외에도 불러오는 동시에 선언을 하는 방법이 있다. 그 방법은

FileInputStream fis=new FileInputStream(경로/파일명.확장자) 로 생성하면 된다.

 

이번에는 이것을 사용하여 문자열의 값을 받고,

그 문자열을 int로 다시 형변환하여 연산자 사용까지 하는 것을 해보는 예제이다.

package class03;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Test03 {

	public static void main(String[] args) {
		
        String msg=""; // 문자열 받을 String 타입의 변수 생성
			try {
			//  FileInputStream fis1=new FileInputStream(file); //file 이라는 객체를 읽기	
				FileInputStream fis=new FileInputStream("C:\\Users\\test\\test\\resource\\test.txt");
				// 파일을 읽기 위해 FileInputSteam								
				// 해당 파일이 경로에 존재하지 않으면 예외 발생!
				int data; 
				
				while((data=fis.read()) !=-1){ // 데이터 파일이 EOF를 만나기 전까지 수행
					System.out.println((char)data); // 아스키코드를 char 형식으로 형변환
					msg+=(char)data; // dat를 char 형식으로 형변환 한 것을 msg에 담아놓는다
					}
				
			} catch (Exception e) { // 최상위 클래스인 Exception 을 사용하여 예외처리
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println();
			System.out.println(msg);
			int res=Integer.parseInt(msg); // 아스키코드를 정수로
			res++; // 정수로 바꾸었으니 ++ 연산자도 사용 가능!
			System.out.println(res);
			
			
		}


}