자바 파일잇풋 스트림2

 package api.io;


import java.io.IOException;

import java.io.InputStream;

import java.io.PrintStream;

import java.util.Scanner;


//자바 input 스트림의 특징들 부제 //인풋스트림과 리더의 차이 알아보기



//자바는 크게 2가지 바이트단위로 입출력을 관리할건지 문자단위로 입출력을 관리할건지로 나눠져있다



//자바프로그램의 입출력=자바메인함수의 매개변수 리턴값쪼개서 정의하기



//파일 io == os통신 == db io == db통신

//1.파일열기

//2.파일엑세스

//3.파일닫기



public class InputStreamReaderTest {


public static void main(String[] args) {

// TODO Auto-generated method stub

InputStream myin = System.in;

PrintStream myout = System.out;

Scanner key = new Scanner(System.in);

java.io.InputStreamReader isr = new java.io.InputStreamReader(System.in);

//이거 자바버전문제로 InputStreamReader가 인식이 안되나?

//System.in이 뭐지?

//System.in 이 왜 InputStream PrintStream Scanner에 참조되지?

//내가 같은 클래스변수를 같은 인스턴스가 할당되는건 머리속에 그려지는데

//이건 뭐지 형변환인가?


//자바에소 모든 입출력은 스트림으로 이루어진다

//데이터가 흐르는 통로가 마치 물의 흐름과 같다고해서 이름이 붙여진거다

//스트림의 종류는 그림으로 떠올리고 그림그리기 실습하자!!

//입력vs출력

//바이트단위vs문자단위

//시스템.인 시스템.아웃

//스캐너

//파일인풋스트림

//이건 용어부터 명칭을 바꿔야함

//용어가 너무 어렵고 왜 배워야하는지 난 이해가 안돼고 중요성을 몰랐음

try {

while(true) {

int data=myin.read();

if (data==13) {

break;

}

//뭐지 왜 13만나면 종료돼지?

//왜 한글쓰면 종료되지?

System.out.println((char)data);

}


//파이썬 버전이 올라가면 쉬운 표현이 나왔지만

//처음 배우는 과정에서는 무조건 클래식 고전적인 방법을 배워라

//자바는 한번에 한문자나 한글자밖에 못읽는다 파이썬과 다르게

//그래서 자바에서 키보드나 네트워크나 모니터나 말이나

//결국 jdbc나 다른거나 똑같은 코드에서 api문만 바꿔도 실행패턴이 똑같아서 쉽다

//파일 입풀력이 계속 유지되면 자원을 차지한다

//

}catch(IOException e) {

e.printStackTrace();

}

//파이썬은 자바랑 헷갈릴 까봐 일부터 파이썬의 메모리관리를 안알려줬다

//지금까지 우리가 스캐너로 입력받는 방법을 돌아서 그림으로 그려보자

//런타임예외의 하위자식클래스가 아니면 무조건 리턴내야한다

//자바의 리드는 파일의 끝을 만나면 -1을 리턴한다

}


private static void InputStreamReader(InputStream myin) {

// TODO Auto-generated method stub

}


}

댓글

가장 많이 본 글