본문 바로가기
Java/Java 이론 정리

[Java] 31~33일차: IO

by ProSeraphina 2020. 7. 27.

 IO
  1. 메모리
  2. 파일
  3. 네트워크
  
  스트림 이용=>데이터 통로(정확한 전송)
  단방향(입력/출력통로가 다르다)


  -1byte(일반파일):바이트 스트림
   InputStream/OutputStream  =>인터페이스 => read/write
   =>업로드/다운로드


  -2byte(문자=>한글가능):문자 스트림
   Reader/Writer => 인터페이스

 

  -객체 자체를 저장: 직렬화

    ObjectInputStream/ObjectOutputStream

 

  -속도를 빠르게

    BufferInputStream/BufferOutputStream

 

  =>XML, JSON, CSV(별도로 파싱하는 방법이 따로 있음) :Web(Spring)

 

***주의점

 1. 반드시 import java.io.*

 2. 반드시 예외처리(CheckException)

 

1. 파일 읽기

  FileInputStream(1byte) => 한글이 있는 경우에는 깨짐 /  FileReader(2byte)

  FileInputStream fis=new FileInputStream("c:\\javaDev\\a.txt"); //절대경로명

  while(파일끝까지) => -1(EOF)

  {

    출력
  }

  fis.close

  ======finally=>try/catch에 상관없이 수행

***데이터 읽기

1)한글자 읽기

  int read() => 글자번호

         A : 65 (char)i

2)여러개 동시에 읽기

  int read() : 읽은 바이트 리턴

***데이터 쓰기(저장)

   FileOutputStream

   write(): 한글자씩 저장

 

IO

FileInputStream, FileReader

FileOutputStream, FileWriter

BufferedReader/BufferedWriter

ObjectInputStream/ObjectOutputStream

BufferedInputStream/BufferedOutputStream

 

데이터

  정형화 데이터: 오라클(***)

  반정형회 데이터: 구분이 된다 =>필요없는 데이터도 존재

                         html/XML/JSON

  비정형화 데이터:  구분이 없이 뒤죽박죽=> 빅데이터 => 지능형 웹 

                          뉴스, 트위터

                           => REGEX(패턴)

 

 

댓글