Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 1 year ago.
The community reviewed whether to reopen this question 1 year ago and left it closed:
Original close reason(s) were not resolved
Improve this question
I have a definition of a Stream such as: "They are wrappers around a data source, allowing us to operate with that data source and making bulk processing convenient and fast. "
Can someone give an example and just a basic explanation of how it works such that Stream makes "bulk processing convenient and fast"?
Thank you!
Files.newBufferedReader("/tmp/foo").lines().map(...)...collect(...);
// or
BufferedReader reader = Files.newBufferedReader("/tmp/foo");
Stream<String> stream = reader.lines();
Collection<String> result = stream.map(...)...collect(...);
Is a convenient way to process a text file using a Stream.
But the work of making it fast/efficient is being done by the BufferedReader, not the Stream.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 5 years ago.
Improve this question
Could I take the control of the buffer (BufferedWriter) to send the data before it is full?
edit: The scenario is that. We put String like "Luck" together with other Strings into the buffer (BufferedWriter), then onto a FileWriter. Well, the BufferWriter holds all the data until is full.
You are probably looking for the flush() method, which does exactly that.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I have been working on a java algorithm and I want to improve it by allowing it to accept and process very large String values.
Could you suggest me any good ways of storing the input/output results. I've been thinking of writing it on a file with the readLine(), writeLine() methods? Is this a good technique ???
I recommend you to store all your string in a text file (if possible) and use BufferedReader utilities ...
here is the a link to how its done :
https://www.tutorialspoint.com/java/io/bufferedreader_readline.htm
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I need to read the content of a large file. For that I Googled on it and found so many methods and resources. But I'm still confused which is the method to read the large files (Factors need to be consider in my case are memory allocation, performance, large file )
Using FileChannel
using Files.readAllLines
using BufferedReader
Can anyone guide on this?
Your best option is to read the file lazily. Fetch each line one at a time and process.
Example:-
Stream<String> lines = Files.lines(Paths.get("C:/files", "yourfile.txt"));
Then process the lines afterwords.
From the official documentation:-
public static Stream<String> lines(Path path, Charset cs) throws IOException
Read all lines from a file as a Stream. Unlike readAllLines, this
method does not read all lines into a List, but instead populates
lazily as the stream is consumed.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I always get confused when to process my input data how, which process. Different times i find different solutions. I am also not clear about their Hierarchy.
InputStream is parent class of all input streams and readers. Classes that have Stream keyword will work with bytes whereas classes which have Reader keyword will work with characters.
Buffer is wrapper around these streams to decrease the system calls and increase performance and speed of reading. Non buffered streams return single byte each time whereas Bufferd stream will not return until the buffer gets full. For example if you take BufferedReader you can read a whole line using readLine() but in non buffered stream you must read single character using read() method.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I want to read a file as a string. Every line of this file contains information that I use to construct new objects.
I wonder what is the fastest way of doing that. Obviously, there are two options. The first is to read the whole file and create the objects by reading the string. The second is to read the data line by line and create a new object after every readLine(). Is there a real performance deference or I can go either way?
If there is an object every couple of lines and it won't affect anything else after or before it I would go for the line by line approach. However, if there is parsing involved with nested objects or a more complicated file structure read it all first