Paths in NIO.2

In order to work with file system one must first be able to point to files and directories. The first thing that needs to be understood is the role of java.nio.file.Path class, the way instances are created and its functionality. As mentioned in previous articles, Path is just an abstraction of the file system location. This allows for the situations when directory does not even have to exist. NIO.2 presents more elegant solutions for getting the object representing file system location. This shields programmer from platform specific problems.

In general, Path instances allow two types of operations:

  • syntactic operations
    • any operations related to the Path representation itself – hierarchy traversal, conversion, comparison and so on
  • file operations
    • operations that modify location, state or contents of a file represented by a path instance

Continue reading “Paths in NIO.2”

Getting Started with Google Guava

Getting Started with Google Guava

At the time of writing this there is basically no literature regarding this awesome library from Google. For those of you who have never heard of Google Guava – it is a collection of Google’s core Java libraries that they use in their Java projects. This short but very informative book was written by Bill Bejeck, senior software engineer with 10 years of experience. For more information check out his blog. I would also like to give credit to my friend Petr Fiala who was kind enough to help me with this review and consulted me on some of the less known topics to me. I would also like to thank Packt Publishing for giving me access to this book. Continue reading “Getting Started with Google Guava”

File System API

Java platform long needed tools to work with file systems that are not so limited as those of prior releases to Java 7. Programmers require consistent behavior throughout many different platforms and efficiency in gathering file attributes and other data (or metadata). When it comes to platform specific capabilities of certain file systems, Java should benefit from them and provide the means to harness their power. Last but not least, programmer should always receive concrete description of exceptional situations during execution of their code.

Continue reading “File System API”

Peopleware: Productive Projects and Teams (Second Edition)

Peopleware: Productive Projects and Teams

Peopleware is one of the most significant books ever written about pitfalls and best practices of software development. This timeless book was written by two software consultants Tom DeMarco and Timothy Lister from their vast experience in the world of management of software development. Authors provide insights into processes and environment of software development that are backed with many statistical data collected over the course of their professional lives. There are currently 3 editions (published in 1987, 1999 and 2013) each bringing new observations and statistical data with a few changes and corrections to the prior edition. This review is based on second edition which was current release at the time of reading.

Continue reading “Peopleware: Productive Projects and Teams (Second Edition)”

Introduction to NIO.2

Ever since the dawn of Java programming there was always present certain need to communicate with file system. Whether it was to store some configuration, user-generated content or even to set up and maintain whole database for your application you were bound to face challenges of file system access from java some time in your career. Java libraries for file system access and manipulation came long way since its introduction back in ’96 when JDK 1.0 introduced package java.io.
Continue reading “Introduction to NIO.2”