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.");
+    }
 }