The [JDK documentation][jdk] clearly states that: > Instances of the File class are immutable; that is, once created, the abstract pathname represented by a File object will never change. So `File` should be declared `pure native`. [jdk]: https://docs.oracle.com/javase/8/docs/api/java/io/File.html#File-java.lang.String-