this.access = access;
}
public void open() throws IOException {
- if(!file.exists()) throw new FileNotFoundException();
+ if (!file.exists()) throw new FileNotFoundException();
rafile = new RandomAccessFile(file,access);
channel = rafile.getChannel();
mapBuff = channel.map("r".equals(access)?MapMode.READ_ONLY:MapMode.READ_WRITE,0,channel.size());
return mapBuff!=null;
}
public void close() throws IOException {
- if(channel!=null){
+ if (channel!=null){
channel.close();
}
- if(rafile!=null) {
+ if (rafile!=null) {
rafile.close();
}
mapBuff = null;
private synchronized int load(Token t) {
int len = Math.min(mapBuff.limit()-t.next,t.buff.length);
- if(len>0) {
+ if (len>0) {
mapBuff.position(t.next);
mapBuff.get(t.buff,0,len);
}
public boolean nextLine() {
end = load(this);
pos = next;
- for(int i=0;i<end;++i) {
- if(buff[i]=='\n') {
+ for (int i=0;i<end;++i) {
+ if (buff[i]=='\n') {
end = i;
next += i+1;
return true;
}
public String next() {
- if(idx>=end)return null;
+ if (idx>=end)return null;
int start = idx;
byte c=0;
int endStr = -1;
- while(idx<end && idx<buff.length && (c=buff[idx])!=delim && c!='\n') { // for DOS
- if(c=='\r')endStr=idx;
+ while (idx<end && idx<buff.length && (c=buff[idx])!=delim && c!='\n') { // for DOS
+ if (c=='\r')endStr=idx;
++idx;
}
- if(endStr<0) {
+ if (endStr<0) {
endStr=idx-start;
} else {
endStr=endStr-start;
public String at(int fieldOffset) {
int start;
byte c=0;
- for(int count = idx = start = 0; idx<end && idx<buff.length; ++idx) {
- if((c=buff[idx])==delim || c=='\n') {
- if(count++ == fieldOffset) {
+ for (int count = idx = start = 0; idx<end && idx<buff.length; ++idx) {
+ if ((c=buff[idx])==delim || c=='\n') {
+ if (count++ == fieldOffset) {
break;
}
start = idx+1;
public String atToEnd(int fieldOffset) {
int start;
byte c=0;
- for(int count = idx = start = 0; idx<end && idx<buff.length; ++idx) {
- if((c=buff[idx])==delim || c=='\n') {
- if(count++ == fieldOffset) {
+ for (int count = idx = start = 0; idx<end && idx<buff.length; ++idx) {
+ if ((c=buff[idx])==delim || c=='\n') {
+ if (count++ == fieldOffset) {
break;
}
start = idx+1;
}
}
- for(; idx<end && idx<buff.length && (c=buff[idx])!='\n'; ++idx) {
+ for (; idx<end && idx<buff.length && (c=buff[idx])!='\n'; ++idx) {
++idx;
}
return new String(buff,start,(idx-start-((c=='\r' || idx>=end)?1:0)));