Browse Source

Merge "Ensure RawText closes the FileInputStream when read is complete"

stable-0.7
Robin Rosenberg 15 years ago committed by Code Review
parent
commit
fbadb19543
  1. 16
      org.eclipse.jgit/src/org/eclipse/jgit/diff/RawText.java

16
org.eclipse.jgit/src/org/eclipse/jgit/diff/RawText.java

@ -45,10 +45,10 @@
package org.eclipse.jgit.diff; package org.eclipse.jgit.diff;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import org.eclipse.jgit.util.IO;
import org.eclipse.jgit.util.IntList; import org.eclipse.jgit.util.IntList;
import org.eclipse.jgit.util.RawParseUtils; import org.eclipse.jgit.util.RawParseUtils;
@ -99,7 +99,7 @@ public class RawText implements Sequence {
* @throws IOException if Exceptions occur while reading the file * @throws IOException if Exceptions occur while reading the file
*/ */
public RawText(File file) throws IOException { public RawText(File file) throws IOException {
this(readFile(file)); this(IO.readFully(file));
} }
public int size() { public int size() {
@ -202,16 +202,4 @@ public class RawText implements Sequence {
hash = (hash << 5) ^ (raw[ptr] & 0xff); hash = (hash << 5) ^ (raw[ptr] & 0xff);
return hash; return hash;
} }
private static byte[] readFile(File file) throws IOException {
byte[] result = new byte[(int)file.length()];
FileInputStream in = new FileInputStream(file);
for (int off = 0; off < result.length; ) {
int read = in.read(result, off, result.length - off);
if (read < 0)
throw new IOException("Early EOF");
off += read;
}
return result;
}
} }

Loading…
Cancel
Save