Wednesday, August 15, 2007

RandomAccessFile-method & StringTokenzer

* 파일 이름 전송하기 *
StringTokenizer class 이용
< API >:
http://blog.naver.com/wildxing?Redirect=Log&logNo=20037023803
import java.util.*;
캐릭터 라인을 토큰에 분할할 수 있음.

< 생성 >
StringTokenizer(String str)
StringTokenizer(String str,String delim)
delim : 단락 문자

< Method >
int countTokens() : 예외를 생성하지 않고 Tokenizer의 nextToken메소드를 호출할수 있는 회수를 계산
boolean hasMoreTokens() : Tokenizer의 캐릭터라인으로 이용할 수 있는 토큰이 아직 있는지 판정
boolean hasMoreElements() : hasMoreToken 메소드와 같은 값을 돌려줌
String nextToken() : 캐릭터라인 Tokenizer로부터 다음의 토큰을 돌려줌

<파일 이름 가져오기>
byte buf = new byte[512];
StringTokenizer strToken = new StringTokenizer(new String(buf, "KSC5601").trim());
//trim()은 앞뒤 공백제거,문장 중간의 공백은 제거하지 않음/
String header = strToken.nextToken();
String filename = strToken.nextToken();

*RandomAccessFile*
< API >: http://java.sun.com/j2se/1.4.2/docs/api/java/io/RandomAccessFile.html
< 생성 >RandomAccessFile(File file, String mode)
RandomAccessFile(String name, String mode)

< Method >
void close()
FileChannel getChannel()
FileDescriptor getFD()
long getFilePointer()
long length()
int read()
int read(byte[] b)
int read(byte[] b,int off,int len)
boolean readBoolean()
byte readByte()
char readChar()
double readDouble()
float readFloat()
void readFully(byte[] b)
void readFully(byte[] b, int off, int len)
int readInt()
String readLine()
long readLong()
short readShort()
int readUnsignedByte()
int readUnsignedShort()
String readUTF()
void seek(long pos)
void setLength(long newLength)
int skipBytes(int n)
void write(byte[] b)
void write(byte[] b, int off, int len)
void write(int b)
void writeBoolean(boolean v)
void writeByte(int v)
void writeBytes(String s)
void writeChar(int v)
void writeChars(String s)
void writeDouble(double v)
void writeFloat(float v)
void writeInt(int v)
void writeLong(long v)
void writeShort(int v)
void writeUTF(String str)

1 comment:

HyukHo Kim said...

StringTokenizer Class는 말그대로 스트링값을 분리하는데 사용하는 클래스야...
StringTokenizer("String/Tokenizer/Class", "/")라고 정의하면 캐릭터"/"를 기준으로 스트링을 토큰으로 나누어서 사용할때 이용하는 클래스다....