diff src/main/java/alice/test/codesegment/local/wordcount/SeparateArray.java @ 345:8f71c3e6f11d

Change directory structure Maven standard
author sugi
date Wed, 16 Apr 2014 18:26:07 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/alice/test/codesegment/local/wordcount/SeparateArray.java	Wed Apr 16 18:26:07 2014 +0900
@@ -0,0 +1,53 @@
+package alice.test.codesegment.local.wordcount;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import alice.codesegment.CodeSegment;
+
+public class SeparateArray extends CodeSegment{
+	private WordConfig conf;
+	
+	SeparateArray(WordConfig conf){
+		this.conf = conf;
+	}
+	
+	@Override
+	public void run() {	
+		// cpu分だけTaskをあらかじめ作成
+	 	int cpu_num = Runtime.getRuntime().availableProcessors();
+	 	for (int cnt =0;cnt < cpu_num;cnt++){
+	 		new WordCount();
+	 	}
+		BufferedReader br = null;
+		int i = 0;
+		try {
+			br= new BufferedReader(
+					new InputStreamReader(
+							new FileInputStream(
+									new File(conf.filename)
+									)));
+			int size = conf.division * 1024; // Kbyte
+			Range range = new Range(size);
+			int check = br.read(range.array);
+			for (;check!=-1;i++){			
+				char[] array;
+				array = new char[size];
+				check = br.read(array);
+				range.nextchar = array[0];
+				ods.put("array", range);
+				range = new Range(array);
+			} 
+			new CorrectResult(i);
+		} catch (FileNotFoundException e) {
+			System.exit(1);
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+
+}