1107 |
03 Jun 09 |
nicklas |
1 |
package net.sf.basedb.genepattern.file; |
1107 |
03 Jun 09 |
nicklas |
2 |
|
1107 |
03 Jun 09 |
nicklas |
3 |
import java.io.BufferedInputStream; |
1107 |
03 Jun 09 |
nicklas |
4 |
import java.io.FileInputStream; |
1107 |
03 Jun 09 |
nicklas |
5 |
import java.io.IOException; |
1107 |
03 Jun 09 |
nicklas |
6 |
import java.io.InputStream; |
1107 |
03 Jun 09 |
nicklas |
7 |
import java.io.OutputStream; |
1107 |
03 Jun 09 |
nicklas |
8 |
import java.io.File; |
1107 |
03 Jun 09 |
nicklas |
9 |
|
1107 |
03 Jun 09 |
nicklas |
10 |
import net.sf.basedb.util.FileUtil; |
1107 |
03 Jun 09 |
nicklas |
11 |
|
1107 |
03 Jun 09 |
nicklas |
12 |
/** |
1107 |
03 Jun 09 |
nicklas |
A file proxy implementation for files in the native file system. |
1107 |
03 Jun 09 |
nicklas |
14 |
|
1107 |
03 Jun 09 |
nicklas |
@author nicklas |
1107 |
03 Jun 09 |
nicklas |
@since 1.0 |
1107 |
03 Jun 09 |
nicklas |
17 |
*/ |
1107 |
03 Jun 09 |
nicklas |
18 |
public class NativeFileProxy |
1107 |
03 Jun 09 |
nicklas |
19 |
implements FileProxy |
1107 |
03 Jun 09 |
nicklas |
20 |
{ |
1107 |
03 Jun 09 |
nicklas |
21 |
private final File file; |
1107 |
03 Jun 09 |
nicklas |
22 |
|
1107 |
03 Jun 09 |
nicklas |
23 |
/** |
1107 |
03 Jun 09 |
nicklas |
Create a new file proxy for the given native file. |
1107 |
03 Jun 09 |
nicklas |
@param file A native file |
1107 |
03 Jun 09 |
nicklas |
26 |
*/ |
1107 |
03 Jun 09 |
nicklas |
27 |
public NativeFileProxy(File file) |
1107 |
03 Jun 09 |
nicklas |
28 |
{ |
1107 |
03 Jun 09 |
nicklas |
29 |
this.file = file; |
1107 |
03 Jun 09 |
nicklas |
30 |
} |
1107 |
03 Jun 09 |
nicklas |
31 |
|
1107 |
03 Jun 09 |
nicklas |
32 |
/* |
1107 |
03 Jun 09 |
nicklas |
From the FileProxy interface |
1107 |
03 Jun 09 |
nicklas |
34 |
----------------------------- |
1107 |
03 Jun 09 |
nicklas |
35 |
*/ |
1107 |
03 Jun 09 |
nicklas |
36 |
/** |
1107 |
03 Jun 09 |
nicklas |
@return {@link File#getName()} |
1107 |
03 Jun 09 |
nicklas |
38 |
*/ |
1107 |
03 Jun 09 |
nicklas |
39 |
@Override |
1107 |
03 Jun 09 |
nicklas |
40 |
public String getFileName() |
1107 |
03 Jun 09 |
nicklas |
41 |
{ |
1107 |
03 Jun 09 |
nicklas |
42 |
return file.getName(); |
1107 |
03 Jun 09 |
nicklas |
43 |
} |
1107 |
03 Jun 09 |
nicklas |
44 |
|
1107 |
03 Jun 09 |
nicklas |
45 |
/** |
1107 |
03 Jun 09 |
nicklas |
@return A buffered {@link FileInputStream} |
1107 |
03 Jun 09 |
nicklas |
47 |
*/ |
1107 |
03 Jun 09 |
nicklas |
48 |
@Override |
1107 |
03 Jun 09 |
nicklas |
49 |
public InputStream getInputStream() |
1107 |
03 Jun 09 |
nicklas |
50 |
throws IOException |
1107 |
03 Jun 09 |
nicklas |
51 |
{ |
1107 |
03 Jun 09 |
nicklas |
52 |
return new BufferedInputStream(new FileInputStream(file)); |
1107 |
03 Jun 09 |
nicklas |
53 |
} |
1107 |
03 Jun 09 |
nicklas |
54 |
|
1107 |
03 Jun 09 |
nicklas |
55 |
/** |
1107 |
03 Jun 09 |
nicklas |
Copies the file to the output stream. |
1107 |
03 Jun 09 |
nicklas |
57 |
*/ |
1107 |
03 Jun 09 |
nicklas |
58 |
@Override |
1107 |
03 Jun 09 |
nicklas |
59 |
public void writeTo(OutputStream out) |
1107 |
03 Jun 09 |
nicklas |
60 |
throws IOException |
1107 |
03 Jun 09 |
nicklas |
61 |
{ |
1107 |
03 Jun 09 |
nicklas |
62 |
FileUtil.copy(getInputStream(), out); |
1107 |
03 Jun 09 |
nicklas |
63 |
} |
1107 |
03 Jun 09 |
nicklas |
64 |
// --------------------------------------------- |
1107 |
03 Jun 09 |
nicklas |
65 |
} |