network programming - Chat Server: Print chat history java -


the problem need show chat history on client side without transferring chat file. server , client on same machine ie pc. server reads char char file , writes on socket. client needs read string exact chat history saved in file. method printing single char in single line
import java.io.*;

    class server     {         public static void main(string dt[])         {             serversocket sskt=null;socket skt=null;             inputstreamreader isrin=null,isrout=null;             bufferedreader brin=null,brout=null;printwriter pw=null;             filewriter fw=null;filereader fr=null;             datainputstream dis=null;dataoutputstream dos=null;             try             {                 sskt=new serversocket(1234);                 system.out.println("waiting client");                 skt=sskt.accept();                 system.out.println("connected client");                  isrin=new inputstreamreader(skt.getinputstream());                 brin=new bufferedreader(isrin);                  isrout=new inputstreamreader(system.in);                 brout=new bufferedreader(isrout);                 pw=new printwriter(skt.getoutputstream(),true);                 dis=new datainputstream(skt.getinputstream());                 dos=new dataoutputstream(skt.getoutputstream());                  simpledateformat sdf=new simpledateformat("dd_mm_yy");                 date date=new date();                 string ing=sdf.format(date);                 fw=new filewriter(ing+".txt",true);                  //do{                 string str;                 str=brin.readline();                 int c=integer.parseint(str);                 switch(c)                 {                     case 1:                     {                         system.out.println("new chat stared");                         string msg="";                                                 {                         simpledateformat sdf1=new simpledateformat("hh:mm:ss");                         date d=new date();                         string in=sdf1.format(d);                          msg=brin.readline();                         system.out.println("client says " + msg);                         fw.write("client "+in+" "+msg);                          msg=brout.readline();                         pw.println(msg);                         fw.write("server "+in+" "+msg);                         }                         while(!msg.equals("bye"));                         fw.close();                     break;                     }                     case 2:                     {                         string d=brin.readline();                         file file=new file(d+".txt");                         if(file.exists())                         {                             dos.writeboolean(true);                             system.out.println("displaying contents of file");                             fr=new filereader(d+".txt");                             int z;                             while((z=fr.read())!=-1)                             {                                 pw.println((char)z);                             }                             fr.close();                             dos.writeboolean(true); //it writes contents of file on socket 1 char char                             }                             else                             {                                 dos.writeboolean(false);                             }                             break;                         }                         case 3:                         {                             system.out.println("client exited");                             system.exit(0);                             break;                         }                         default:                         {                             system.out.println("invalid choice");                             break;                         }                     }                 //}while(true);              }             catch(exception e)             {                 system.out.println(e);             }                         {                 try                 {                     pw.close();                     brin.close();                     isrin.close();                     skt.close();                     sskt.close();                 }                 catch(exception ex)                 {                     system.out.println(ex);                 }             }         }     }      class client     {         public static void main(string dt[])         {             socket skt=null;             inputstreamreader isrout=null,isrin=null;             bufferedreader brout=null,brin=null;             printwriter pw=null;             dataoutputstream dos=null;             datainputstream dis=null;             filereader fw=null;         try         {                 skt=new socket("127.0.0.1",1234);                 system.out.println("connected server");                  isrout=new inputstreamreader(system.in);                 brout=new bufferedreader(isrout);                 pw=new printwriter(skt.getoutputstream(),true);                 isrin=new inputstreamreader(skt.getinputstream());                 brin=new bufferedreader(isrin);                 dos=new dataoutputstream(skt.getoutputstream());                 dis=new datainputstream(skt.getinputstream());              //do             //{                 system.out.println("1. start chat");                 system.out.println("2. view chat history");                 system.out.println("3. exit");                 string str="";                 str=brout.readline();                 pw.println(str);                 int a=integer.parseint(str);                 switch(a)                 {                     case 1:                     {                         string msg="";                                                 {                         msg=brout.readline();                         pw.println(msg);                         msg=brin.readline();                         system.out.println("server says " + msg);                         }                         while(!msg.equals("bye"));                         break;                     }                     case 2:                     {                         system.out.println("enter date of chat history");                         string date=brout.readline();                         pw.println(date);                         if(dis.readboolean())                         {                             system.out.println("chat exists");                             fw=new filereader("h:\\java programs\\chatser\\chat\\client\\"+date+".txt");                             int ab;                             while((ab=fw.read())!=-1)                             {                                 system.out.println(brin.readline());                             }                             fw.close();                         } //this syntax read socket char char , print 1 char after in next line. need chat history string without copying file @ client side                         else                         {                             system.out.println("incorrect entity");                         }                         break;                     }                     case 3:                     {                         system.out.println("thank you");                         system.exit(0);                         break;                     }                     default:                     {                         system.out.println("incorrect entity");                     }                 }             //}while(true);           }             catch(exception e)             {                 system.out.println(e);             }                         {                 try                 {                     pw.close();                     brout.close();                     isrout.close();                     skt.close();                 }                 catch(exception ex)                 {                     system.out.println(ex);                 }             }         } } 

look @ following snippet:

int z; while((z=fr.read())!=-1) {    pw.println((char)z); } 

you converting integer read char, hold single character. not print entire value you're looking for. if want convert integer string printed, try this:

pw.println(integer.tostring(z)) 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -