I have here a code which I will be using as a logging in my Java Server. This seems to be working fine in single line input. But when I entered multiple line. For example:
Hey there!
Hey More!
And when I looked at the textfile which the PrintWriter had created, it show me:
Hey there!Hey More!
What I want to see on my textfile is:
Hey there!
Hey More!
Here is my code: I don't know how will I append that. I'm thinking of \n but that doesnt work. Or is there something missing within my code. Please kindly check and you'll be a great help to me! Thanks!
try
{
clientSocket = serverSocket.accept(); // accept the client connection
inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
bufferedReader = new BufferedReader(inputStreamReader); // get the client message
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
StringBuilder str =new StringBuilder();
StringBuilder abc =new StringBuilder();
while ((message = bufferedReader.readLine()) != null)
{
abc.append("Message from " + message + " at " + dateFormat.format(cal.getTime())+"/n");
System.out.println("Message from " + message + " at " + dateFormat.format(cal.getTime()));
str.append(message+"\n");
}
PrintWriter out= new PrintWriter(new BufferedWriter(new FileWriter("C:/god.txt", true)));
out.println(abc);
out.close ();
JOptionPane.showMessageDialog(null, str);
inputStreamReader.close();
clientSocket.close();
} catch (IOException ex)
{
System.out.println("Problem in message reading");
}
"/n". Flip it. Also,println()adds a new line at the end of your String.