23.07.2013 Views

Java IO.pdf - Nguyen Dang Binh

Java IO.pdf - Nguyen Dang Binh

Java IO.pdf - Nguyen Dang Binh

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

public static final int DEC = 1;<br />

public static final int HEX = 2;<br />

public static final int SHORT = 3;<br />

public static final int INT = 4;<br />

public static final int LONG = 5;<br />

public static final int FLOAT = 6;<br />

public static final int DOUBLE = 7;<br />

public static void main(String[] args) {<br />

<strong>Java</strong> I/O<br />

if (args.length < 1) {<br />

System.err.println("Usage: java FileDumper4 [-ahdsilfx] [-little]"+<br />

"[-gzip|-deflated] file1...");<br />

}<br />

boolean bigEndian = true;<br />

int firstFile = 0;<br />

int mode = ASC;<br />

boolean deflated = false;<br />

boolean gzipped = false;<br />

// Process command-line switches.<br />

for (firstFile = 0; firstFile < args.length; firstFile++) {<br />

if (!args[firstFile].startsWith("-")) break;<br />

if (args[firstFile].equals("-h")) mode = HEX;<br />

else if (args[firstFile].equals("-d")) mode = DEC;<br />

else if (args[firstFile].equals("-s")) mode = SHORT;<br />

else if (args[firstFile].equals("-i")) mode = INT;<br />

else if (args[firstFile].equals("-l")) mode = LONG;<br />

else if (args[firstFile].equals("-f")) mode = FLOAT;<br />

else if (args[firstFile].equals("-x")) mode = DOUBLE;<br />

else if (args[firstFile].equals("-little")) bigEndian = false;<br />

else if (args[firstFile].equals("-deflated") && !gzipped) deflated =<br />

true;<br />

else if (args[firstFile].equals("-gzip") && !deflated) gzipped =<br />

true;<br />

}<br />

{<br />

}<br />

for (int i = firstFile; i < args.length; i++) {<br />

try {<br />

InputStream in = new FileInputStream(args[i]);<br />

dump(in, System.out, mode, bigEndian, deflated, gzipped);<br />

}<br />

if (i < args.length-1) { // more files to dump<br />

System.out.println();<br />

System.out.println("--------------------------------------");<br />

System.out.println();<br />

}<br />

}<br />

catch (Exception e) {<br />

System.err.println(e);<br />

e.printStackTrace();<br />

}<br />

public static void dump(InputStream in, OutputStream out, int mode,<br />

boolean bigEndian, boolean deflated, boolean gzipped) throws <strong>IO</strong>Exception<br />

// The reference variable in may point to several different objects<br />

190

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!