title: Key for download bucket in Amazon S3 using Java
body: <pre><code>public class downloads3 {
      private static String bucketName = "s3-upload-sdk-sample-akiaj6ufcgzvw7yukypa";
      **private static String key        = "__________________________________";**
  
      public static void main(String[] args) throws IOException {
          AmazonS3 s3Client = new AmazonS3Client(new PropertiesCredentials(
                  downloads3.class.getResourceAsStream(
                          "AwsCredentials.properties")));
          try {
              System.out.println("Downloading an object");
              S3Object s3object = s3Client.getObject(new GetObjectRequest(
                      bucketName, key));
              System.out.println("Content-Type: "  + 
                      s3object.getObjectMetadata().getContentType());
              displayTextInputStream(s3object.getObjectContent());
  
             // Get a range of bytes from an object.
  
              GetObjectRequest rangeObjectRequest = new GetObjectRequest(
                      bucketName, key);
              rangeObjectRequest.setRange(0, 10);
              S3Object objectPortion = s3Client.getObject(rangeObjectRequest);
  
              System.out.println("Printing bytes retrieved.");
              displayTextInputStream(objectPortion.getObjectContent());
  
          } catch (AmazonServiceException ase) {
              System.out.println("Caught an AmazonServiceException, which" +
                      " means your request made it " +
                      "to Amazon S3, but was rejected with an error response" +
                      " for some reason.");
              System.out.println("Error Message:    " + ase.getMessage());
              System.out.println("HTTP Status Code: " + ase.getStatusCode());
              System.out.println("AWS Error Code:   " + ase.getErrorCode());
              System.out.println("Error Type:       " + ase.getErrorType());
              System.out.println("Request ID:       " + ase.getRequestId());
          } catch (AmazonClientException ace) {
              System.out.println("Caught an AmazonClientException, which means"+
                      " the client encountered " +
                      "an internal error while trying to " +
                      "communicate with S3, " +
                      "such as not being able to access the network.");
              System.out.println("Error Message: " + ace.getMessage());
          }
      }
  
      private static void displayTextInputStream(InputStream input)
      throws IOException {
          // Read one text line at a time and display.
          BufferedReader reader = new BufferedReader(new 
                  InputStreamReader(input));
          while (true) {
              String line = reader.readLine();
              if (line == null) break;
  
              System.out.println("    " + line);
          }
          System.out.println();
      }
  }
  </code></pre>
  
  <p>I'm trying to download objects from an Amazon S3 bucket using Java. But it doesn't seem to work and keeps giving me the error shown below. What is the correct key to be input? The access key or the secret key?</p>
  
  <pre class="lang-none prettyprint-override"><code>Downloading an object
  Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.
  Error Message:    The specified key does not exist.
  HTTP Status Code: 404
  AWS Error Code:   NoSuchKey
  Error Type:       Client
  Request ID:       F9548FC068DB1646
  </code></pre>