def read_file(path, use_method = nil)
      if use_method
        use_method = use_method.to_sym
        raise ArgumentError, "use_method (#{use_method.inspect}) is not a valid method." unless file_methods.include?(use_method)
        raise Shells::ShellError, "The #{use_method} binary is not available with this shell." unless which(use_method)
        send "read_file_#{use_method}", path
      elsif default_file_method
        return send "read_file_#{default_file_method}", path
      else
        raise Shells::ShellError, 'No supported binary to encode/decode files.'
      end
    end
def read_file(path, use_method = nil)
      if use_method
        use_method = use_method.to_sym
        raise ArgumentError, "use_method (#{use_method.inspect}) is not a valid method." unless file_methods.include?(use_method)
        raise Shells::ShellError, "The #{use_method} binary is not available with this shell." unless which(use_method)
        send "read_file_#{use_method}", path
      elsif default_file_method
        return send "read_file_#{default_file_method}", path
      else
        raise Shells::ShellError, 'No supported binary to encode/decode files.'
      end
    end
Reads from a file on the device.