Tail adalah salah satu fitur melihat baris terakhir dalam sistem operasi *NIX,Solrais,dll. Tail dibutuhkan untuk melihat mengecek server apakah dalam kondisi baik, melihat error log, melakukan debug terhadap aplikasi dll. Kali ini saya akan memperlihatkan Simple Tail menggunakan JAVA, berikut adalah method tersebut:
public String seek( String fileName , int line) {
try {
java.io.File file = new java.io.File( fileName );
if( !file.exists() ){
System.out.println("File Not Found");
System.exit(0);
}
RandomAccessFile fileHandler = new RandomAccessFile( file, "r" );
long fileLength = file.length() - 1;
int newLineCount = 0;
int carrierLineCount = 0;
StringBuilder sb = new StringBuilder();
for( long filePointer = fileLength; filePointer != -1; filePointer-- ) {
fileHandler.seek( filePointer );
int readByte = fileHandler.readByte();
if( readByte == 0xA ) {
if( filePointer == fileLength ) {
continue;
} else {
newLineCount++;
if( newLineCount == line )
break;
}
} else if( readByte == 0xD ) {
if( filePointer == fileLength - 1 ) {
continue;
} else{
carrierLineCount++;
if( carrierLineCount == line )
break;
}
}
sb.append( ( char ) readByte );
}
String lastLine = sb.reverse().toString();
return lastLine;
} catch( java.io.FileNotFoundException e ) {
e.printStackTrace();
return null;
} catch( java.io.IOException e ) {
e.printStackTrace();
return null;
}
}
Method ini hanya mengambil baris terakhir (bisa juga -n baris). Untuk mengambil menampilkan semua isi dari file cukup isi dengan -1.