Author: medined
Date: Thu Aug 23 03:57:02 2012
New Revision: 1376359

URL: http://svn.apache.org/viewvc?rev=1376359&view=rev
Log:
ACCUMULO-738: Close InputStream instead finally clause in 
FileIngestData.insertFileData method.

Modified:
    
accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java

Modified: 
accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java?rev=1376359&r1=1376358&r2=1376359&view=diff
==============================================================================
--- 
accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java
 (original)
+++ 
accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java
 Thu Aug 23 03:57:02 2012
@@ -71,15 +71,22 @@ public class FileDataIngest {
     
     // read through file once, calculating hashes
     md5digest.reset();
-    InputStream fis = new FileInputStream(filename);
-    int numRead = fis.read(buf);
-    while (numRead >= 0) {
-      if (numRead > 0) {
-        md5digest.update(buf, 0, numRead);
+    InputStream fis = null;
+    int numRead = 0;
+    try {
+           fis = new FileInputStream(filename);
+           numRead = fis.read(buf);
+           while (numRead >= 0) {
+             if (numRead > 0) {
+               md5digest.update(buf, 0, numRead);
+             }
+             numRead = fis.read(buf);
+           }
+    } finally {
+      if (fis != null) {
+         fis.close();
       }
-      numRead = fis.read(buf);
     }
-    fis.close();
     
     String hash = hexString(md5digest.digest());
     Text row = new Text(hash);
@@ -93,28 +100,33 @@ public class FileDataIngest {
     bw.addMutation(m);
     
     // read through file again, writing chunks to accumulo
-    fis = new FileInputStream(filename);
-    numRead = fis.read(buf);
     int chunkCount = 0;
-    while (numRead >= 0) {
-      while (numRead < buf.length) {
-        int moreRead = fis.read(buf, numRead, buf.length - numRead);
-        if (moreRead > 0)
-          numRead += moreRead;
-        else if (moreRead < 0)
-          break;
-      }
-      m = new Mutation(row);
-      Text chunkCQ = new Text(chunkSizeBytes);
-      chunkCQ.append(intToBytes(chunkCount), 0, 4);
-      m.put(CHUNK_CF, chunkCQ, cv, new Value(buf, 0, numRead));
-      bw.addMutation(m);
-      if (chunkCount == Integer.MAX_VALUE)
-        throw new RuntimeException("too many chunks for file " + filename + ", 
try raising chunk size");
-      chunkCount++;
-      numRead = fis.read(buf);
+    try {
+           fis = new FileInputStream(filename);
+           numRead = fis.read(buf);
+           while (numRead >= 0) {
+             while (numRead < buf.length) {
+               int moreRead = fis.read(buf, numRead, buf.length - numRead);
+               if (moreRead > 0)
+                 numRead += moreRead;
+               else if (moreRead < 0)
+                 break;
+             }
+             m = new Mutation(row);
+             Text chunkCQ = new Text(chunkSizeBytes);
+             chunkCQ.append(intToBytes(chunkCount), 0, 4);
+             m.put(CHUNK_CF, chunkCQ, cv, new Value(buf, 0, numRead));
+             bw.addMutation(m);
+             if (chunkCount == Integer.MAX_VALUE)
+               throw new RuntimeException("too many chunks for file " + 
filename + ", try raising chunk size");
+             chunkCount++;
+             numRead = fis.read(buf);
+           }
+    } finally {
+       if (fis != null) {
+               fis.close();
+       }
     }
-    fis.close();
     m = new Mutation(row);
     Text chunkCQ = new Text(chunkSizeBytes);
     chunkCQ.append(intToBytes(chunkCount), 0, 4);


Reply via email to