KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > h2 > samples > FileFunctions


1 /*
2  * Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http://h2database.com/html/license.html).
3  * Initial Developer: H2 Group
4  */

5 package org.h2.samples;
6
7 import java.io.IOException JavaDoc;
8 import java.io.RandomAccessFile JavaDoc;
9 import java.sql.Connection JavaDoc;
10 import java.sql.DriverManager JavaDoc;
11 import java.sql.ResultSet JavaDoc;
12 import java.sql.Statement JavaDoc;
13
14 public class FileFunctions {
15
16     public static void main(String JavaDoc[] args) throws Exception JavaDoc {
17         Class.forName("org.h2.Driver");
18         Connection JavaDoc conn = DriverManager.getConnection("jdbc:h2:mem:", "sa", "");
19         Statement JavaDoc stat = conn.createStatement();
20         stat.execute("CREATE ALIAS READ_TEXT_FILE FOR \"org.h2.samples.FileFunctions.readTextFile\" ");
21         stat.execute("CREATE ALIAS READ_TEXT_FILE_WITH_ENCODING FOR \"org.h2.samples.FileFunctions.readTextFileWithEncoding\" ");
22         stat.execute("CREATE ALIAS READ_FILE FOR \"org.h2.samples.FileFunctions.readFile\" ");
23         ResultSet JavaDoc rs = stat.executeQuery("CALL READ_FILE('test.txt')");
24         rs.next();
25         byte[] data = rs.getBytes(1);
26         System.out.println("length: " + data.length);
27         rs = stat.executeQuery("CALL READ_TEXT_FILE('test.txt')");
28         rs.next();
29         String JavaDoc text = rs.getString(1);
30         System.out.println("text: " + text);
31         conn.close();
32     }
33
34     public static String JavaDoc readTextFile(String JavaDoc fileName) throws IOException JavaDoc {
35         byte[] buff = readFile(fileName);
36         String JavaDoc s = new String JavaDoc(buff);
37         return s;
38     }
39
40     public static String JavaDoc readTextFileWithEncoding(String JavaDoc fileName, String JavaDoc encoding) throws IOException JavaDoc {
41         byte[] buff = readFile(fileName);
42         String JavaDoc s = new String JavaDoc(buff, encoding);
43         return s;
44     }
45
46     public static byte[] readFile(String JavaDoc fileName) throws IOException JavaDoc {
47         RandomAccessFile JavaDoc file = new RandomAccessFile JavaDoc(fileName, "r");
48         try {
49             byte[] buff = new byte[(int)file.length()];
50             file.readFully(buff);
51             return buff;
52         } finally {
53             file.close();
54         }
55     }
56 }
57
Popular Tags