anchor.diff:  Many APIs (JAXB, Jackson to name a few) don't use `Path`s to read/write files, the workaround is usually use an `InputStream` or an `OutputStream`.
   
   [source,java]
  -====
  +----
   try(InputStream inputStream = Files.newInputStream(path)) {
     Thing thing = (Thing) unmarshaller.unmarshal(inputStream);
   }
  -====
  -
  +----
   
   == Multiple file systems
   
  -When the `File` is only for local files, `Path` can be used to access remote files.
  -A `Path` is associated to `FileSystem`. 
  -To create a new `Path` instances, the above 2 lines are the same:
  +When the `File` is only for local files, `Path` can also be used to access remote files.
  +A `Path` is associated to a `FileSystem`. 
  +
  +To create a new `Path` instances, there is not constructor (`Path` is interface), we need to call a factory method. The above 2 lines are the same:
   
   [source,java]
   ----
  
positive.code: | file = new File("path/to/file.txt")     | path = Paths.get("path/to/file.txt")
  | file = new File(parentFile, "file.txt") | path = parentPath.resolve("file.txt")
  | file.getFileName()                      | path.getFileName().toString()
  | file.mkdirs()                            | Files.createDirectories(path)
  | new FileOutputStream(file)              | Files.newOutputStream (path)
  | new FileInputStream(file)               | Files.newInputStream (path)
  | file.length()                           | Files.size(path)
  
negative.code: Some additional notes:
  
  * `Path` throws `IOException` more often than `File`, and rarely return a `boolean` to tell if something was done (`mkdirs()`, `delete()`)
  * `File` is more object oriented than `Path`: I regret that `size()`, `exists()`... methods are not on the `Path` interface. This is probably due to the fact that this API was added in Java 7, but default methods on interfaces were added later in Java 8.
  
  == One liners
  
  