9.1. Working with File Objects

It is easy to forget that a File object doesn't actually represent a file. You need to keep reminding yourself that a File object encapsulates a pathname or reference to what may or may not be a physical file or directory on your hard disk, not the physical file or directory itself. The fact that you create a File object does not determine that a file or directory actually exists. This is not as strange as it might seem at first sight. After all, you will often be defining a File object that encapsulates a path to a new file or directory that you intend to create later in your program.

As you'll see, a File object serves two purposes:

  • It enables you to check the pathname that it encapsulates against the physical file system and see whether it corresponds to a real file or directory.

  • You can use it to create file stream objects.

The File class provides several methods for you to test the path that a File object encapsulates in various ways, as well as the physical file or directory it may represent. You can determine whether or not an object does represent a path to an existing file or directory, for example. If a File object does correspond to a real file, you have methods available that you can use to modify the file in a number of ways.

9.1.1. Creating File Objects

You have a choice of four constructors for creating File objects. The simplest accepts a String object as an argument that specifies a path for a file or a directory. For example, you ...

Get Ivor Horton's Beginning Java™ 2, JDK™ 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.