code: public void deleteFile(long id) throws IOException {
          if (id >= getFileCount()) {
              return;
          }
  
          Long key = new Long(id);
          InternalFile file = openInternal(key);
  
          // Acquire write lock on file to delete before acquiring lock on
          // file table. This ensures a consistent lock order with all other
          // operations and prevents deadlock. Operations on internal files
          // will first lock the internal file, and then lock the shared file
          // table when necessary.
          try {
              file.lock().acquireWriteLock();
              // Use the file table lock to prevent multiple threads from using
              // mOpenFiles.
              try {
                  mFileTableLock.acquireWriteLock();
                  file.delete();
                  mOpenFiles.remove(key);
              }
              finally {
                  mFileTableLock.releaseLock();
              }
          }
          catch (InterruptedException e) {
              throw new InterruptedIOException();
          }
          finally {
              file.lock().releaseLock();
          }
      }
docs: Deletes the specified file. Opening it up again re-creates it.