I needed to read a whole bunch of files recently and instead of just grabbing my old FileUtils.java that I and probably most developers have and then copy from project to project, I decided to have quick look at how else to do it...
Yes, I know there is Commons IO and Google IO, why would I even bother? They probably do it better, but I wanted to check out the NIO jdk classes and play with lambdas aswell.. and to be honest, I think this actually ended up being a very neat bit of code.
So I had a specific use case:
I wanted to read all the source files from a whole directory tree, line by line.
What this code does, it uses Files.walk to recursively get all the paths from the starting point, it creates a stream, which I then filter to only files that end with the required extension. For each of those files, I use Files.lines to create a stream of Strings, one per line. I trim that, filter out the empty ones and add them to the return collection.
All very concise thanks to the new constructs.
Monday, May 26, 2014
Subscribe to:
Post Comments (Atom)
Popular Posts
-
I have recently been slacking on content on my blog, between long stressful hours at work and to the wonderful toy that is an iPhone, I have...
-
I make no claim to be a "computer scientist" or a software "engineer", those titles alone can spark some debate, I regar...
-
I saw an article (well more of a rant) the other day, by Rob Williams Brain Drain in enterprise Dev . I have to say, I do agree with some o...
-
This series of posts will be about me getting to grips with JBoss Drools . The reasoning behind it is: SAP bought out my company's curre...
-
Update: Check out my updated re-certification on the new 2019 exam... here Let me start by saying, for this certification I studied and...
This is one such interesting and useful article that i have ever read. The way you have structured the content is so realistic and meaningful. Thank you so much for sharing this in here. Keep up this good work and I'm expecting more contents like this from you in future.
ReplyDeleteHadoop Training Chennai | Hadoop Training in Chennai | big data Training in Chennai
There are many companies that offer professional solutions to the striving business people and help them succeed in their online endeavors. Further, it is platform dependent and runs anywhere, anytime once deployed.
ReplyDeletelearn web design
have got some important suggestions from it. You post explain everything in detail and it was very interesting to read. Thank you.
ReplyDeleteWeb designing course in chennai
Thanks, your article helped me to solve my old problem, cause transient variable java https://explainjava.com/java-transient/ was always one of the most complicated theme for understanding for me. But then I started to read your site and situation quickly turned and the situation quickly turned into a better one.
ReplyDeletePretty article! I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing..
ReplyDeleteEmbedded system training in Chennai
Embedded system Course in Chennai
This news is crucial for all of us.
ReplyDeleteI enjoyed to visiting your blog. You have done a really nice job.
ReplyDeleteReally wonderful blog! Thanks for taking your valuable time to share this with us. Keep us updated with more such blogs.
ReplyDeleteWordPress Training in Chennai
WordPress Course in Chennai
JavaScript Training in Chennai
JavaScript Course in Chennai
C C++ Training in Chennai
C Training in Chennai
WordPress Training in Porur
WordPress Training in Adyar
Đại lý vé máy bay Aivivu, tham khảo
ReplyDeletevé máy bay đi Mỹ giá bao nhiêu
giá vé máy bay tết 2021
giá vé máy bay đi toronto Canada
giá vé máy bay đi Pháp
ve may bay di Anh gia re
vé máy bay giá rẻ 99k
combo khách sạn đà nẵng
combo du lịch nha trang
làm visa trung quốc giá rẻ tphcm
cách ly khách sạn trọn gói