@POST @Path("/getphotos") @Produces(MediaType.TEXT_HTML) public String getPhotos() throws IOException{ // DataInputStream rd = new DataInputStream(request.getInputStream()); BufferedReader rd = new BufferedReader( new InputStreamReader(request.getInputStream(), "UTF-8") ); String line = null; String message = new String(); final StringBuffer buffer = new StringBuffer(2048); while ((line = rd.readLine()) != null) { // buffer.append(line); message += line; } System.out.println(message); JsonObject json = new JsonObject(message); return message; }
The code above is for my servlet. Its purpose is to get a stream, make a a Json file from it, and then send the Json to the client back. But in order to make Json, I have to read BufferedReader
object rd
using a "while" loop. However I'd like to convert rd
to string in as few lines of code as possible. How do I do that?
Whereas, BufferedReader creates a buffer, and reads large amount of data using the given FileReader and loads it into a input buffer in the memory. Each time you want to read the file data, you can read it from the buffer( you don't have to directly access the disk drive every time) and hence is faster than FileReader.
In an earlier post, I asked how fast the getline function in C++ could run through the lines in a text file. The answer was about 2 GB/s, certainly over 1 GB/s.
From Java 8:
rd.lines().collect(Collectors.joining());
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With