Mercurial > hg > y16 > e165728 > os > 2.2
changeset 11:92e9b90046b4
Change FileWrite
author | Tomoya Uchihara <e165728@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 09 Nov 2017 15:13:09 +0900 |
parents | b4646087136b |
children | 050ca4732ec9 |
files | .gradle/buildOutputCleanup/cache.properties .idea/modules/FileWrite_test.iml src/main/java/jp/ac/uryukyu/ie/e165728/FileWrite.java |
diffstat | 3 files changed, 45 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/.gradle/buildOutputCleanup/cache.properties Sat Nov 04 17:12:50 2017 +0900 +++ b/.gradle/buildOutputCleanup/cache.properties Thu Nov 09 15:13:09 2017 +0900 @@ -1,2 +1,2 @@ -#Sat Nov 04 16:07:21 JST 2017 +#Wed Nov 08 14:11:58 JST 2017 gradle.version=4.2.1
--- a/.idea/modules/FileWrite_test.iml Sat Nov 04 17:12:50 2017 +0900 +++ b/.idea/modules/FileWrite_test.iml Thu Nov 09 15:13:09 2017 +0900 @@ -11,8 +11,8 @@ <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="module" module-name="FileWrite_main" /> <orderEntry type="library" name="Gradle: org.junit.jupiter:junit-jupiter-api:5.0.1" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Gradle: org.junit.jupiter:junit-jupiter-engine:5.0.1" level="project" /> <orderEntry type="library" name="Gradle: org.opentest4j:opentest4j:1.0.0" level="project" /> - <orderEntry type="library" scope="RUNTIME" name="Gradle: org.junit.jupiter:junit-jupiter-engine:5.0.1" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Gradle: org.apiguardian:apiguardian-api:1.0.0" level="project" /> <orderEntry type="library" name="Gradle: org.junit.platform:junit-platform-commons:1.0.1" level="project" /> <orderEntry type="library" scope="RUNTIME" name="Gradle: org.junit.platform:junit-platform-engine:1.0.1" level="project" />
--- a/src/main/java/jp/ac/uryukyu/ie/e165728/FileWrite.java Sat Nov 04 17:12:50 2017 +0900 +++ b/src/main/java/jp/ac/uryukyu/ie/e165728/FileWrite.java Thu Nov 09 15:13:09 2017 +0900 @@ -1,42 +1,77 @@ package jp.ac.uryukyu.ie.e165728; +//import java.io.BufferedOutputStream; +//import java.io.FileOutputStream; +import java.io.*; + public class FileWrite { - public boolean buffer = false; - public long filesize; + public boolean buffer = true; + public long fileSize=4096; + private String filename = "testData.txt"; + private int writeData = '@'; public boolean isBuffer(){ return buffer; } public long getFilesize(){ - return filesize; + return fileSize; } - public void main(String[] args){ + public static void main(String[] args){ FileWrite fw = new FileWrite(); - getopts(args); + fw.getopts(args); + + try{ + fw.writeTest(); + }catch(IOException e){ + System.err.println(); + } } - public void getopts(String[] args){ + void getopts(String[] args){ for (int i = 0;i<args.length;i++){ switch (args[i]){ case "-b": buffer = true;break; case "-u": buffer = 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 "-help": case "-h": + case "--help": System.out.println("Usage: [-b buffered write] [-u unbuffered write] \n [--size & filesize write filesize] [--help,-h show options]"); + break; } } } + + void writeTest()throws IOException{ + long start = System.currentTimeMillis(); + long written = 0; + int data = writeData; + long size = fileSize; + + OutputStream os = new FileOutputStream(filename); + if(buffer){ + os = new BufferedOutputStream(os); + } + + while(written < size){ + os.write(data); + written ++; + } + + os.close(); + long end = System.currentTimeMillis(); + System.out.println("write "+ size +" bytes in "+ (end - start) + "millisec."); + } }