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

Reply via email to