Mercurial > hg > y16 > e165728 > os > 2.2
changeset 12:050ca4732ec9
change getopts method
author | Tomoya Uchihara <e165728@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 15 Nov 2017 15:35:13 +0900 |
parents | 92e9b90046b4 |
children | f7a4926304ce |
files | src/main/java/jp/ac/uryukyu/ie/e165728/FileWrite.java src/test/java/jp/ac/uryukyu/ie/e165728/FileWriteTest.java |
diffstat | 2 files changed, 28 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/jp/ac/uryukyu/ie/e165728/FileWrite.java Thu Nov 09 15:13:09 2017 +0900 +++ b/src/main/java/jp/ac/uryukyu/ie/e165728/FileWrite.java Wed Nov 15 15:35:13 2017 +0900 @@ -6,13 +6,14 @@ import java.io.*; public class FileWrite { - public boolean buffer = true; - public long fileSize=4096; + public boolean isbuffering = true; + public int buffersize=0; + public long fileSize=1024; private String filename = "testData.txt"; private int writeData = '@'; public boolean isBuffer(){ - return buffer; + return isbuffering; } public long getFilesize(){ return fileSize; @@ -33,18 +34,30 @@ for (int i = 0;i<args.length;i++){ switch (args[i]){ case "-b": - buffer = true;break; + isbuffering = true;{ + if(i+1 <= args.length){ + buffersize = Integer.parseInt(args[i+1]); + i++; + } + break; + } case "-u": - buffer = false;break; + isbuffering = false;break; case "-s": case "--size": if (i+1 <=args.length){ - fileSize = Integer.parseInt(args[i + 1]); + fileSize = Integer.parseInt(args[i+1]); i++; }else{ System.out.println("Usage: [--size][filesize]"); } break; +// case "-bb": +// isbuffering = true; +// if(i+1 <= args.length){ +// buffersize = Integer.parseInt(args[i+1]); +// i++; +// } case "-h": case "--help": System.out.println("Usage: [-b buffered write] [-u unbuffered write] \n [--size & filesize write filesize] [--help,-h show options]"); @@ -60,8 +73,12 @@ long size = fileSize; OutputStream os = new FileOutputStream(filename); - if(buffer){ - os = new BufferedOutputStream(os); + if(isbuffering) { + if (buffersize > 0) + os = new BufferedOutputStream(os, buffersize); + else + os = new BufferedOutputStream(os); + } while(written < size){ @@ -71,7 +88,7 @@ os.close(); long end = System.currentTimeMillis(); - System.out.println("write "+ size +" bytes in "+ (end - start) + "millisec."); + System.out.println("write "+ size +"bytes in "+ (end - start) + " millisec."); } }
--- a/src/test/java/jp/ac/uryukyu/ie/e165728/FileWriteTest.java Thu Nov 09 15:13:09 2017 +0900 +++ b/src/test/java/jp/ac/uryukyu/ie/e165728/FileWriteTest.java Wed Nov 15 15:35:13 2017 +0900 @@ -7,10 +7,9 @@ @Test void getOpts() { FileWrite fw = new FileWrite(); - String[] args = {"-b", "12", "--size","1234"}; + String[] args = {"-b", "1000", "--size","1200"}; fw.getopts(args); - assertEquals(fw.getFilesize(),1234); + assertEquals(fw.getFilesize(),1200); assertEquals(fw.isBuffer(),true); - assertEquals(fw.getFilesize(),123); } } \ No newline at end of file