자바스크립트 IO (Input Output) 입출력 관련 TIP - JavaScript IO TIP


자바스크립트 IO (Input Output) 입출력 관련 TIP - JavaScript IO TIP

 

     ① 통상적으로 Stream계의 클래스를 사용함

 

        java.io패키지에서 문자데이터 입출력시에는 Reader/Writer 클래스를 바이트단위 데이터 입출력시에는
        InputStream/OutputStream
을 이용합니다.

        다만, 아스키캐릭터의 경우에는 1문자가 1바이트이므로 InputStream/OutputStream 클래스를 이용할 수 있습니다.

       

        100K 정도의 영문자로 이루어져 있는 텍스트파일을 가지고 예를 들겠습니다.

 

        ) Reader계 클래스을 이용한 파일 입출력 예

 

            FileReader in = new FileReader("test.txt");

            int buf;

 

            while ( buf = in.read() != -1)

            {

              .......

            }

            in.close();

 

        ) InputStream계 클래스를 이용한 파일 입출력 예

 

            FileInputStream in = new FileInputStream("test.txt");

            int buf;

 

            while ( buf = in.read() != -1)

            {

              .......

            }

 

            in.close();

 

          위의 2가지 예를 비교한 performance 비교표는 아래와 같습니다.

             

사용클래스

처리시간(ms)

FileReader

18000

FileInputStream

800

CPU : Pentium 300MHz/ Memory :128M / OS : Linux/ J2SE:1.3.1

 

InputStream계 클래스를 이용한 파일 입출력이 월등히 빠른 처리속도를 보임을 알 수 있습니다.

            

     Buffering을 이용

 

        ) Buffering을 한 Reader계 클래스을 이용한 파일 입출력 예

 

            FileReader in = new FileReader("test.txt");

            BufferedReader bin = new BufferedReader(in);

            int buf;

 

            while ( buf = bin.read() != -1)

            {

              .......

            }

 

            bin.close();

 

        ) Buffering을 한 InputStream계 클래스를 이용한 파일 입출력 예

 

            FileInputStream in = new FileInputStream("test.txt");

            BufferedInputStream bin = new BufferedInputStream(in);

            int buf;

 

            while ( buf = bin.read() != -1)

            {

              .......

            }

            bin.close();

 

위의 2가지 예를 비교한 performance 비교표는 아래와 같습니다.

 

사용클래스

처리시간(ms)

BufferedReader

150

BufferedInutStream

80

CPU : Pentium 300MHz/ Memory :128M / OS : Linux/ J2SE:1.3.1

 

IT Computer Utility/ETC 다른 글

댓글 0

*

*

이전 글

다음 글