   path: null
   cachedContents: null
 
-  # Public: Creates a new file.
+  # Creates a new file.
   #
   # path - A {String} representing the file path
   # symlink - A {Boolean} indicating if the path is a symlink (default: false)

    fsUtils.write(@getPath(), text)
    @subscribeToNativeChangeEvents() if not previouslyExisted and @subscriptionCount() > 0

  # Public: Reads the file.
  #
  # flushCache - A {Boolean} indicating if the cache should be erased--_i.e._, a force read is performed
  #

      if fs.statSync(@path).isDirectory()
        throw new Error("#{@path} is a directory")

  # Sets the path for the file.
  #
  # path - A {String} representing the new file path
  setPath: (@path) ->

  # Retrieves the path for the file.
  #
  # Returns a {String}.
  getPath: -> @path

  # Gets the file's basename--that is, the file without any directory information.
  #
  # Returns a {String}.
  getBaseName: ->
    fsUtils.base(@path)

  # Writes (and saves) new contents to the file.
  #
  # text - A {String} representing the new contents.
  write: (text) ->
