Friends, I am in a problem. I want to write message log . For that I am using Random access file. I want outout on the JSP.
My JSP file is <%@ page import="java.io.*,java.lang.*" %> <%@ page import="p1.*"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> </TITLE> </HEAD> <BODY> <jsp:useBean id="r1" class="p1.RandomFileFinal" scope="session" /> <form name="dataView" method= "post" action = "fileView.jsp"> <% boolean eofsw=false; out.println("Reading..."); String b=""; try{ if(!eofsw){ out.println("Entered the if.."); b=r1.readData(0,4); out.println(b); out.println("<br>"); } } catch(Exception e){ out.println("Error in the file"); } %> </form> </BODY> </HTML> And Java File is package p1; import java.io.*; public class RandomFileFinal { public void writeData1(String type, String origin, String msg) { byte b=0; long maxsize = 500; String hdrMsg="0|0|0|*"; String str=""; byte dtlMsg[] = new byte[20]; byte hdrData[] = new byte[30]; RandomAccessFile rs= null; String sub[] = new String[4]; int l=0,k=0,i=0; long hdrSize =0; long remHdr =0,remDetail=0; int cur=0; try{ rs= new RandomAccessFile("c:/FileLog.dat","rw"); if ( rs.length()==0){ rs.writeBytes(hdrMsg); } else{ rs.seek(0); while(true){ b=rs.readByte(); char c = (char)b; if (c=='*') { hdrSize = rs.getFilePointer(); remHdr=30-hdrSize; break; } str+=c; } while(l<str.length()){ k = str.indexOf("|",l); sub[i] = str.substring(l,k); l=k+1; i++; } long l1 = rs.length(); sub[1]=String.valueOf(l1); cur = Integer.parseInt(sub[2]); if (cur==99){ cur= 0; } else{ cur++; } sub[2]=String.valueOf(cur); rs.setLength(maxsize); hdrMsg=String.valueOf(maxsize)+"|"+sub[1].trim()+" |"+sub[2].trim()+"|*"; hdrData= hdrMsg.getBytes(); rs.seek(0); rs.write(hdrData); rs.seek(0); rs.skipBytes(30+cur*20); type+=origin.trim()+msg.trim(); dtlMsg =type.getBytes(); rs.write(dtlMsg); rs.close(); } } catch(IOException e){ System.out.println("Error in Write Data and in the file cration"); //rs.close(); } } public String readData(int start, int end) { int cur=0; byte b=0; int i=0,j =0; String dataRet =""; boolean eofsw = true; String str=""; System.out.println(start); byte[] data = new byte[20]; try{ RandomAccessFile rs= null; long hdrSize =0; rs= new RandomAccessFile("c:/FileLog.dat","r"); rs.seek(0); char tests; rs.seek(0); rs.skipBytes(30+(start*20)); while(eofsw){ str=""; if(start >= end ){ break; } try{ for(j = 0; j<=2000;j++){ tests= (char)rs.readByte(); System.out.print(tests); str+=tests; } start++; System.out.println(str); } catch(EOFException eof){ eofsw = false; System.out.println("This is Error "); } rs.close(); return(str); } }catch(IOException ie){ System.out.println("Can't open the File "); } return(null); } } My problem is I am not getting out put record by record it is comming in the one string. Please help me Thanks in advance Snehal --------------------------------------------------------------------------------------------------------- No one in this world has been honored for what they received. They were honored for what they gave. =========================================================================== To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST". For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST". Some relevant archives, FAQs and Forums on JSPs can be found at: http://java.sun.com/products/jsp http://archives.java.sun.com/jsp-interest.html http://forums.java.sun.com http://www.jspinsider.com