자바입출력구조 자바입출력 파일 기본입출력 필터입출력 문자입출력 비순차접근파일 객체입출력 파일입출력 바이트배열입출력 파이프입출력 연결형입력 스트링버퍼입력 스트림 ( 순차접근 ) 자바입출력구조

Similar documents
<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

파일로출력하는작업순서 1. 파일을연다. 2. 파일로자료를쓴다. 3. 파일을닫는다. 파일입출력에사용되는클래스들. FileInputStream, FileOutputStream, FileReader, FileWriter 문자단위로입출력하기 사람이읽을수있는문자로만구성된파일을읽

09-Java Input Output

Cluster management software

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

Network Programming

12-file.key

제11장 자바 입출력

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - java1-lecture9.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

PowerPoint Presentation

Microsoft PowerPoint - 03-TCP Programming.ppt

JAVA PROGRAMMING 실습 09. 예외처리

Microsoft PowerPoint - 04-UDP Programming.ppt

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

PowerPoint Presentation

PowerPoint Presentation

Java

rmi_박준용_final.PDF

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

java.lang 패키지 java.util 패키지 java.io 패키지 콜렉션 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A

자바-11장N'1-502

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - java2-lecture2.ppt [호환 모드]

PowerPoint Presentation

PowerPoint Presentation

제11장 프로세스와 쓰레드

설계란 무엇인가?

Java 자바야놀자 스트림 (Streams) 입출력을이해하기전에스트림이라는용어부터알아야합니다. 스트림은 source에서, sink로의데이터흐름을말합니다. source는데이터흐름의출발점이며, sink는데이터흐름이끝나는지점을의미합니다. source로부터나오는데이

PowerPoint 프레젠테이션

Microsoft PowerPoint - Java7.pptx

JAVA PROGRAMMING 실습 08.다형성

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

4장.문장

PowerPoint Presentation

02 C h a p t e r Java

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

Cluster management software

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공

(Microsoft PowerPoint - java2-lecture2.ppt [\310\243\310\257 \270\360\265\345])

Java ...

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

Network Programming

슬라이드 1

PowerPoint Presentation

Microsoft PowerPoint - java2-lab2-DirectoryImageConverter.pptx

Data Provisioning Services for mobile clients

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

Microsoft PowerPoint - 2강

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

쉽게 풀어쓴 C 프로그래밍

gnu-lee-oop-kor-lec06-3-chap7

개발문서 Oracle - Clob

쉽게 풀어쓴 C 프로그래밊

13-Java Network Programming

[ 정보 ] 과학고 R&E 결과보고서 Monte Carlo Method 를이용한 고교배정시뮬레이션 연구기간 : ~ 연구책임자 : 강대욱 ( 전남대전자컴퓨터공학부 ) 지도교사 : 최미경 ( 전남과학고정보 컴퓨터과 ) 참여학생 : 박진명 ( 전

05-class.key

Design Issues

슬라이드 1

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - lec7_package [호환 모드]

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - Lect04.pptx

PowerPoint Presentation

12-file.key

PowerPoint Presentation

Spring Boot/JDBC JdbcTemplate/CRUD 예제

JAVA PROGRAMMING 실습 05. 객체의 활용

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

[ 프로젝트이름 ] : Project_Car [ 프로젝트를만든목적 ] : 임의의자동차판매소가있다고가정하고, 고객이원하는자동차의각부분을 Java 를이용하여객 체로생성하고, 그것을제어하는메소드를이용하여자동차객체를생성하는것이목표이다. [ 프로젝트패키지와클래스의내용설명 ] [

JVM 메모리구조

Microsoft PowerPoint - chap11.ppt [호환 모드]

JUNIT 실습및발표

Microsoft PowerPoint - [EEL2] Lab10.pptx

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

PowerPoint 프레젠테이션

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

PowerPoint 프레젠테이션

쉽게

학습목표 네트워크개요 TCP PORT URL/InetAddress Socket/TCP 을이용한네트워크 2

PowerPoint Presentation

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Contents Exceptions

class InetAddress3{ public static void main(string[] args) throws Exception{ String url = null ; Scanner reader = new Scanner(System.in); System.out.p

Transcription:

Java IO

자바입출력구조 자바입출력 파일 기본입출력 필터입출력 문자입출력 비순차접근파일 객체입출력 파일입출력 바이트배열입출력 파이프입출력 연결형입력 스트링버퍼입력 스트림 ( 순차접근 ) 자바입출력구조

스트림이란? 일차원적인데이터의흐름 흐름의방향에따른분류 - 입력스트림 (input stream) - 출력스트림 (output stream) 데이터의형태에따른분류 - 문자스트림 (character stream) - 바이트스트림 (byte stream)

자바입출력방식 바이너리입출력문자입출력기본데이터형입출력객체입출력스트림토큰화

자바입출력구조 스트림을다루는클래스들 파일입출력스트림을다루는클래스들 java.io 선택 java.io 패키지에대한개략적인 설명이있는홈페이지 파일입출력 클래스들

입출력스트림관련클래스 입출력종류바이트스트림파일스트림바이트배열스트림데이터스트림객체스트림문자스트림파일문자스트림문자배열스트림문자열스트림파이프입출력 클래스파일 InputStream, OutputStream FileInputStream, FileOutputStream ByteArrayInputStream, ByteArrayOutputStream DataInputStream, DataOutputStream ObjecInputStream, ObjectOutputStream Reader, Writer FileReader, FileWriter CharArrayReader, CharArrayWriter StringBufferedInputStream, StringReader, StringWriter PipedInputStream, PipedOutputStream, PipedReader, PipedWriter

입출력스트림관련클래스 입출력종류스트림필터버퍼스트림반환형스트림기타스트림비순차입출력스트림토큰화 클래스파일 FilteredInputStream, FilteredOutputStream, FilteredReader, FileterdWriter BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter PushbackInputStream, PushbackReader SequencedInputStream RandomAcessFile StreamTokenizer

파일입출력 파일입출력의과정 A) 파일로부터데이터를읽는 3 단계 B) 파일에데이터를쓰는 3 단계 파일을연다 파일을연다 필요한만큼 필요한만큼 파일의데이터를읽는다 반복 파일에데이터를쓴다 반복 파일을닫는다 파일을닫는다

파일입출력의과정 파일열기 FileReader reader = new FileReader( poem.txt ); 생성자안에서현재디렉토리의 poem.txt 파일을엽니다. 데이터읽기 Data = reader.read(); 이메서드는파일에있는 문자하나를읽어서리턴합니다. 파일닫기 reader.close(); 파일을닫는메소드

파일 파일관련오류를줄이는방법 FileInputStream 객체를생성하기전에인자값인 File 객체를통해서파일이실제로존재하는것인지확인한다. File 객체의 isfile( ) 메소드는파일이디렉토리인지파일인지확인하는메소드다. 파일을읽기전에 canread( ) 메소드를이용하면파일이읽기속성을가지고있는지확인할수있다. 파일을쓰기전에 canwrite( ) 메소드를이용하면파일이쓰기속성을가지고있는지확인할수있다.

파일 File 클래스 ( 파일의내용이아니라 ) 파일자체를관리하는클래스메소드제공파일정보를가져오는메소드파일정보를수정하는메소드파일을생성 / 삭제하는메소드 디렉토리관리에도사용됨 디렉토리 : 특수한형태의파일이라고할수있음

파일 파일 / 디렉토리정보가져오기 다음과같은방법으로 File 객체를생성합니다. File file = new File( poem.txt ); 현재디렉토리에있는 poem.txt. 에대한 File 객체를생성합니다. File file = new File( C:\\work\\chap10 ); C 드라이브의 work 디레토리아래에있는 Chap10 에대한 File 객체를생성합니다.

파일 / 디렉토리정보를가져오는메소드를호출합니다. Boolean isthere = file.exists(); 파일또는디렉토리가있으면 true, 없으면 false 를리턴 Boolean isfile= file.isfile(); 파일이있으면 true, 아니면 false 를리턴 Boolean isdir= file.isdirectory(); 디렉토리면 true, 아니면 false 를리턴

파일 파일관리 파일을생성하고삭제하는메소드 File file1 = new File( poem.txt ); file1.createnewfile(); 현재디렉토리에 poem.txt 라는이름의파일을생성한다. File file2 = new File( C:\\doc\\ 회의록.hwp ); file2.delete(); C:\doc\ 회의록.hwp 파일을삭제한다.

파일 파일관리 디렉토리를생성하고삭제하는메소드 File file1 = new File( C:\\ 올빼미 ); file1.mkdir(); C 드라이브의루트디렉토리에 올빼미 라는디렉토리를생성한다. File file2 = new File( 두루미 ); file2.delete(); 현재디렉토리에있는 두루미 라는디렉토리를삭제한다.

파일 파일관리 임시파일을생성하는메소드 File tmpfile = file.createtempfile( tmp,.txt,tmpdir); tmp로시작하고.txt로끝나는 임시파일을 이디렉토리에생성한다.

File 객체관련예제 : import java.io.*; public class test0 { public static void main(string[] args) { File f0 = new File("Name.class"); File f1 = new File(".."); File f2 = new File(f1, "test.java"); System.out.println("f0.getName() = " + f0.getname()); // 파일이름 System.out.println("f1.getPath() = " + f1.getpath()); // 파일경로 System.out.println("f2.getAbsolutePath() = " + f2.getabsolutepath()); // 파일의절대경로 System.out.println("f1.getParent() = " + f1.getparent()); // 파일의상위디렉토리 System.out.println("f0.exists() = " + f0.exists()); // 파일의존재여부 System.out.println("f0.canWrite() = " + f0.canwrite()); // 쓰기가능여부 System.out.println("f0.canRead() = " + f0.canread()); // 읽기가능여부

File 객체관련예제 : System.out.println("f1.isDirectory() = " + f1.isdirectory()); // 디렉토리인지여부 System.out.println("f0.lastModified() = " + f0.lastmodified()); // 파일이수정된시간 (long형) System.out.println("f0.length() = " + f0.length()); // 파일의길이 String[] list = f1.list(); // 파일목록 ( 디렉토리의경우 ) System.out.println("f1.list() = {"); for(int i = 0; i < list.length; i++) System.out.println("," + list[i]); try { System.out.println("f1.getCanonicalPath() = " + f1.getcanonicalpath()); } catch(exception e){e.printstacktrace();} } }

바이트입출력스트림구조 입력스트림 바이트기반스트림 출력스트림 바이트배열 파일 바이트배열 파일 객체 파이프 객체 파이프 문자열버퍼 시퀀스 필터 필터 버퍼 반환형 버퍼 데이터 라인 데이터 프린트 바이트입출력스트림구조

문자입출력스트림 문자스트링 입력 Reader 출력 Writer 버퍼 스트링 버퍼 스트링 라인 파일 문자배열 파일 문자배열 필터 파이프 필터 파이프 변환형 프린트 문자열 문자열 문자입출력스트림구조

입출력스트림계층구조 Object InputStream * ByteArrayInputStream FileInputStream FilterInputStream BufferedInputStrea DataInputStream LineNumberInputStream PushbackInputStream ObjectInputStream PipedInputStream SequencedInputStream StringBufferedInputStream * abstract class OutputStream * ByteArrayOutputStream FileOutputStream FilterOutputStream BufferedOutputStream DataOutputStream PrintStream PushbackOutputStream ObjectOutputStream PipedOutputStream 바이트입출력클래스구성도

파일입출력스트림관련예제 : FileInputStream 과 FileOutputStream 클래스를이용한예제 import java.io.*; public class test0 { public static void main(string[] args) { String filename = " 예문.txt"; File file = new File(filename); // File 객체생성 try { // File 객체로부터 FileOutputStream 객체생성 FileOutputStream out = new FileOutputStream(file); // 문자열로부터 getbytes() 로바이트배열얻기 out.write("java Programming\n".getBytes()); out.write("fileinputstream/fileoutputstream\ntest File\n".getBytes()); // 1 부터 30 까지 byte 단위로출력 for(int i = 1; i < 30; i++) out.write((byte)i); out.close(); // 파일닫기를위해 close() 메소드호출 // 문자열로부터 FileInputStream 객체생성

파일입출력스트림관련예제 : FileInputStrea 과 FileOutputStream 클래스를이용한예제 } } FileInputStream in = new FileInputStream(filename); int b; // 입력이끝날때까지바이트단위로반복적으로읽기 while((b = in.read()) > -1) { System.out.print((char)b); } in.close(); // 파일닫기를위해 close() 메소드호출 } catch (Exception e) {e.printstacktrace();}

버퍼입출력 필터스트림의일종 입출력속도를향상하는주요한클래스에해당 여러메소드중에서 flush() 메소드버퍼에남아있는데이터를실제로입출력 close() 메소드보다앞서실행되어야함. 버퍼입출력 VS 비버퍼입출력속도파일입출력의경우 10 배이상속도가빠르다

필터입출력스트림 다른종류의입출력스트림을하나로연결해서처리 관련클래스 버퍼입출력 : BufferedInputStream/BufferedOutputStream 데이터입출력 : DataInputStream/DataOutputStream 라인스트림 : LineNumberInputStream/PrintStream 반환형입력스트림 : PushbackInputStream

기타바이트입출력스트림 PipedInputStream/PipedOutputStream 클래스 : 파이프스트림은자바프로그램안에서객체와객체간의스트림입출력을위한스트림 SequenceInputStream 클래스 : SequenceInputStream 클래스는둘이상의 InputStream 객체를하나의스트림으로묶어서사용하는스트림 ByteArrayInputStream/ByteArrayOutputStream 클래스 : ByteArrayInputStream 객체는단순히바이트배열로부터 InputStream 객체를생성하는스트림 StringBufferedInputStream 클래스

문자입출력스트림구조 지역코드파일 바이트배열 유니코드문자배열 InputStream Reader byte[ ] char[ ] 유니코드문자열 지역코드파일 바이트배열 유니코드문자배열 OutputStream Writer byte[ ] char[ ] 유니코드문자열 바이트입출력스트림과문자입출력스트림의연결

문자입출력스트림구조 Object * abstract class Reader * BufferedReader Writer * BufferedWriter LineNumberReader CharArrayReader FilterReader * CharArrayWriter FilterWriter * PushbackReader InputStreamReader FileReader OutputStreamWriter FileWriter PrintWriter PipedReader PipedWriter StringReader StringWriter 문자입출력 Reader/Writer 클래스구조도

유니코드와지역코드 유니코드 16비트기반의다국적문자체계동일한 16비트문자세트를이용전세계대부분의문자를수용다국어처리에효과 지역코드 8 비트코드체계인 ASCII 를바탕으로개별국가가지역특성에맞게확장한코드 국가정보기관등이표준화한것으로보통 8 비트또는 16 비트체계를가짐

유니코드와지역코드 지역코드파일 바이트배열 InputStream 유니코드문자배열 Reader byte[ ] char[ ] ByteToChar 변환기 유니코드문자열 지역코드파일 바이트배열 OutputStream 유니코드문자배열 Writer byte[ ] char[ ] CharToByte 변환기 유니코드문자열 문자스트림에서코드변환기의동작

바이트스트림, 문자스트림연결, 버퍼문자입출력 바이트스트림과문자스트림연결 : InputStreamReader/InputStreamWriter 클래스 바이트스트림객체를이용하여 Reader/Writer 객체를클래스 내부적으로는앞에서언급한지역코드와유니코드간의동작 생성하는 변환기가 버퍼문자입출력 : BufferedReader/BufferedWriter 클래스 문자배열을통하여문자를입출력할때문자버퍼를이용 바이트버퍼스트림과같이속도를향상시킬목적으로사용

버퍼문자입출력 버퍼를이용해서입출력성능을향상시키는클래스들 클래스이름 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter 설명바이트입력스트림을버퍼링하는클래스바이트출력스트림을버퍼링하는클래스문자입력스트림을버퍼링하는클래스문자출력스트림을버퍼링하는클래스

표준입출력 표준입출력 초기유닉스계열운영체제에서사용하는개념 프로그램이시작되면기본적으로입출력파일이하나씩생성이되며이것은실제파일이라기보다는파일형식으로키보드입력과모니터출력이가능하도록한것 해당객체 : System.in, System.out 관련메소드 : System.setIn(), System.setOut(), System.setErr()

InOutStreamReader 의활용 import java.io.*; public class test0 { public static String input(string input)throws IOException{ System.out.println(input+":"); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String message = br.readline(); return message; } public static void main(string[] args) throws IOException { String id = input("id"); OutputStreamWriter out = new OutputStreamWriter(System.out); out.write("id:"+id); out.close(); } }

라인문자입출력 LineNumberReader/PrintWriter LineNumberReader 클래스 문자열입력을한행씩끊어서입력받음 행단위로문자열을입력받기때문에텍스트문서를입력받을때자주사용되는클래스 PrintWriter 클래스 PrintStream 과유사 모든기본형데이터및객체데이터를문자열로출력할수있도록하기때문에화면출력에자주사용 System.out.println() 메소드와같은형태로동작하며, 대부분의데이터를문자열로출력하는데사용 보통텍스트문서출력은 PrintWriter 객체를이용하고, 출력된문서를줄단위로입력받을때는 LineNumberReader 객체를이용한다.

라인문자입출력 LineNumberReader/PrintWriter 우리는민족중흥의역사적사명을띠고이땅에태어났다. 조상의빛난얼을오늘에되살려, 안으로자주독립의자세를확립하고, 밖으로인류공영에이바지할때다. 이에, 우리의나아갈바를발혀교육의지표로삼는다. LineNumberReader 객체의동작 LineNumberReader 국민교육헌장.txt readline() 이에, 우리의나아갈바를발혀교육의지표로삼는다. readline() 조상의빛난얼을오늘에되살려, 안으로자주독립의자세를확립하고, 밖으로인류공영에이바지할때다.. readline() 우리는민족중흥의역사적사명을띠고이땅에태어났다.

기타문자입출력 PushbackReader, PipedReader/PipedReader 클래스 자바프로그램내부에서스트림객체를공유할때사용하는문자파이프클래스 StringReader/StringWriter 클래스 문자열객체를소스로하는 Reader 클래스 문자열객체를싱크로하는 Writer 클래스 객체변수로접근가능 CharArrayReader/CharArrayWriter 클래스 문자배열객체를소스로하는 Reader 클래스 문자배열객체를싱크로하는 Writer 클래스 객체변수로접근가능

객체직렬화 객체직렬화 (object serialization) 객체자체를입출력하는방법 = 객체스트림방식객체를바이트단위로나누어입출력이가능하도록하는과정 ObjectOutputStream File Object ObjectInputStream header Class Information Short Field Values Object Handle Long Field Values Serializable (interface) 객체직렬화와객체스트림의구조

객체입출력스트림 객체입출력클래스 ObjectInputStream 와 ObjectOutputStream ObjectInputStream 객체를입력바이트스트림객체를생성자의인자값으로하여생성하며 readobject() 메소드를통하여객체를읽어올수있다. 다른기본데이터형의입출력도가능하다. ObjectOutputStream 출력바이트스트림객체를생성자의인자값으로하여생성하며 writeobject() 메소드를통하여객체를출력할수있다. 다른기본데이터형의입출력도가능하다.

객체직렬화 import java.io.*; class Customer implements java.io.serializable{ private String name; private int age; public Customer(String name,int age){this.name = name;this.age = age;} public String tostring(){ return " 이름 :"+name+", 나이 :"+age; } } public class test0 { public static void main(string[] args) throws IOException { try{ FileOutputStream fos = new FileOutputStream("c:\\test.ser"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeint(2); oos.writeobject(new Customer(" 김동오 ",19)); oos.writeobject(new Customer(" 홍길동 ",29)); FileInputStream fis = new FileInputStream("c:\\test.ser"); ObjectInputStream ois = new ObjectInputStream(fis); int a = ois.readint();

객체직렬화 } for(int i=0; i<2; i++){ Customer c = (Customer) ois.readobject(); System.out.println(c); } }catch(exception e){e.printstacktrace();} }

비순차접근파일 (RandomAccessFile) RandomAccessFile 파일내용을직접읽고쓸수있음. cf. File 객체는파일을직접읽고쓸수없음 비순차적접근가능 cf. 스트림객체는순차적접근만가능 레코드기반의데이터를관리하는데효과적 접근이필요한위치에직접파일포인터를이동시킬수있기때문에큰크기의파일접근이유리하다. 생성자는문자열인 String 객체또는 File 객체를인자값으로하고, 파일접근속성을읽기전용 r 또는읽기쓰기 rw 로지정할수있다.

스트림토큰화 StreamTokenizer 클래스 파일에서데이터를읽을때각항목, 즉토큰단위로나누어읽도록해주는클래스 StreamTokenizer 클래스를사용하는순서 1 Reader 객체를인자값으로하여 StreamTokenizer 객체를생성한다. 2 설정메소드를이용해서필요한설정을한다. 3 nexttoken() 메소드를호출하여다음토큰을얻는다. 4 토큰을처리합니다. 5 nexttoken() 메소드를호출하여 StreamTokenizer.TT_EOF 를반환할때까지반복한다.

스트림토큰화 import java.io.*; public class test0 { public static void main(string[] args) throws IOException { try{ BufferedWriter bw = new BufferedWriter(new FileWriter("c:\\test.txt")); PrintWriter pw = new PrintWriter(bw,true); pw.println(123123); pw.println(" 하이 "+123352); pw.println("dokim@db.konkuk.ac.kr"); BufferedReader br = new BufferedReader(new FileReader("c:\\test.txt")); StreamTokenizer st = new StreamTokenizer(br); while(st.nexttoken()!=streamtokenizer.tt_eof){

}} 스트림토큰화 switch(st.ttype){ case StreamTokenizer.TT_WORD: System.out.println("Word:"+st.sval); break; case StreamTokenizer.TT_NUMBER: System.out.println("Number:"+(int)st.nval); break; default: System.out.println("etc:"+(char)st.ttype); break; } } bw.close(); br.close(); }catch(exception e){e.printstacktrace();}