test/java/util/zip/FileBuilder.java

Print this page
rev 3516 : 7021582: convert jar/zip code and tests to use try-with-resources
Reviewed-by: XXX


  36         System.err.println("");
  37         System.err.println("Makes a file named FILENAME of size FILESIZE.");
  38         System.err.println("If FILETYPE is \"MostlyEmpty\", the file contents is mostly null bytes");
  39         System.err.println("(which might occupy no disk space if the right OS support exists).");
  40         System.err.println("If FILETYPE is \"SlightlyCompressible\", the file contents are");
  41         System.err.println("approximately 90% random data.");
  42         System.exit(1);
  43     }
  44 
  45     public static void main (String[] args) throws IOException {
  46         if (args.length != 3)
  47             usageError();
  48         String filetype = args[0];
  49         String filename = args[1];
  50         long   filesize = Long.parseLong(args[2]);
  51 
  52         if (! (filetype.equals("MostlyEmpty") ||
  53                filetype.equals("SlightlyCompressible")))
  54             usageError();
  55 
  56         RandomAccessFile raf = new RandomAccessFile(filename, "rw");
  57 
  58         if (filetype.equals("SlightlyCompressible")) {
  59             byte[] randomBytes = new byte[16384];
  60             byte[] nullBytes   = new byte[randomBytes.length/10];
  61             Random rand = new Random();
  62             for (int i = 0; raf.length() < filesize; ++i) {
  63                 rand.nextBytes(randomBytes);
  64                 raf.write(nullBytes);
  65                 raf.write(randomBytes);
  66             }
  67         }
  68 
  69         // Make sure file is exactly the requested size, and that
  70         // a unique identifying trailer is written.
  71         byte[] filenameBytes = filename.getBytes("UTF8");
  72         raf.seek(filesize-filenameBytes.length);
  73         raf.write(filenameBytes);
  74         raf.setLength(filesize);
  75         raf.close();
  76     }
  77 }


  36         System.err.println("");
  37         System.err.println("Makes a file named FILENAME of size FILESIZE.");
  38         System.err.println("If FILETYPE is \"MostlyEmpty\", the file contents is mostly null bytes");
  39         System.err.println("(which might occupy no disk space if the right OS support exists).");
  40         System.err.println("If FILETYPE is \"SlightlyCompressible\", the file contents are");
  41         System.err.println("approximately 90% random data.");
  42         System.exit(1);
  43     }
  44 
  45     public static void main (String[] args) throws IOException {
  46         if (args.length != 3)
  47             usageError();
  48         String filetype = args[0];
  49         String filename = args[1];
  50         long   filesize = Long.parseLong(args[2]);
  51 
  52         if (! (filetype.equals("MostlyEmpty") ||
  53                filetype.equals("SlightlyCompressible")))
  54             usageError();
  55 
  56         try (RandomAccessFile raf = new RandomAccessFile(filename, "rw")) {

  57             if (filetype.equals("SlightlyCompressible")) {
  58                 byte[] randomBytes = new byte[16384];
  59                 byte[] nullBytes   = new byte[randomBytes.length/10];
  60                 Random rand = new Random();
  61                 for (int i = 0; raf.length() < filesize; ++i) {
  62                     rand.nextBytes(randomBytes);
  63                     raf.write(nullBytes);
  64                     raf.write(randomBytes);
  65                 }
  66             }
  67 
  68             // Make sure file is exactly the requested size, and that
  69             // a unique identifying trailer is written.
  70             byte[] filenameBytes = filename.getBytes("UTF8");
  71             raf.seek(filesize-filenameBytes.length);
  72             raf.write(filenameBytes);
  73             raf.setLength(filesize);
  74         }
  75     }
  76 }