com.healthmarketscience.jackcess.util
Class ImportUtil

java.lang.Object
  extended by com.healthmarketscience.jackcess.util.ImportUtil

public class ImportUtil
extends Object

Utility class for importing tables to an Access database from other sources. See the ImportUtil.Builder for convenient configuration of the import functionality. Note that most scenarios for customizing input data can be handled by implementing a custom ImportFilter.

Author:
James Ahlborn
Usage:
General: This class is general use.

Nested Class Summary
static class ImportUtil.Builder
          Builder which simplifies configuration of an import operation.
 
Method Summary
static String importFile(File f, Database db, String name, String delim)
          Copy a delimited text file into a new table in this database.
static String importFile(File f, Database db, String name, String delim, char quote, ImportFilter filter, boolean useExistingTable)
          Copy a delimited text file into a new table in this database.
static String importFile(File f, Database db, String name, String delim, char quote, ImportFilter filter, boolean useExistingTable, boolean header)
          Copy a delimited text file into a new table in this database.
static String importFile(File f, Database db, String name, String delim, ImportFilter filter)
          Copy a delimited text file into a new table in this database.
static String importReader(BufferedReader in, Database db, String name, String delim)
          Copy a delimited text file into a new table in this database.
static String importReader(BufferedReader in, Database db, String name, String delim, char quote, ImportFilter filter, boolean useExistingTable)
          Copy a delimited text file into a new (or optionally exixsting) table in this database.
static String importReader(BufferedReader in, Database db, String name, String delim, char quote, ImportFilter filter, boolean useExistingTable, boolean header)
          Copy a delimited text file into a new (or optionally exixsting) table in this database.
static String importReader(BufferedReader in, Database db, String name, String delim, ImportFilter filter)
          Copy a delimited text file into a new table in this database.
static String importReader(BufferedReader in, Database db, String name, String delim, ImportFilter filter, boolean useExistingTable)
          Copy a delimited text file into a new (or optionally exixsting) table in this database.
static String importResultSet(ResultSet source, Database db, String name)
          Copy an existing JDBC ResultSet into a new table in this database.
static String importResultSet(ResultSet source, Database db, String name, ImportFilter filter)
          Copy an existing JDBC ResultSet into a new table in this database.
static String importResultSet(ResultSet source, Database db, String name, ImportFilter filter, boolean useExistingTable)
          Copy an existing JDBC ResultSet into a new (or optionally existing) table in this database.
static List<ColumnBuilder> toColumns(ResultSetMetaData md)
          Returns a List of Column instances converted from the given ResultSetMetaData (this is the same method used by the various importResultSet() methods).
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

toColumns

public static List<ColumnBuilder> toColumns(ResultSetMetaData md)
                                     throws SQLException
Returns a List of Column instances converted from the given ResultSetMetaData (this is the same method used by the various importResultSet() methods).

Returns:
a List of Columns
Throws:
SQLException

importResultSet

public static String importResultSet(ResultSet source,
                                     Database db,
                                     String name)
                              throws SQLException,
                                     IOException
Copy an existing JDBC ResultSet into a new table in this database.

Equivalent to: importResultSet(source, db, name, SimpleImportFilter.INSTANCE);

Parameters:
name - Name of the new table to create
source - ResultSet to copy from
Returns:
the name of the copied table
Throws:
SQLException
IOException
See Also:
importResultSet(ResultSet,Database,String,ImportFilter), ImportUtil.Builder

importResultSet

public static String importResultSet(ResultSet source,
                                     Database db,
                                     String name,
                                     ImportFilter filter)
                              throws SQLException,
                                     IOException
Copy an existing JDBC ResultSet into a new table in this database.

Equivalent to: importResultSet(source, db, name, filter, false);

Parameters:
name - Name of the new table to create
source - ResultSet to copy from
filter - valid import filter
Returns:
the name of the imported table
Throws:
SQLException
IOException
See Also:
importResultSet(ResultSet,Database,String,ImportFilter,boolean), ImportUtil.Builder

importResultSet

public static String importResultSet(ResultSet source,
                                     Database db,
                                     String name,
                                     ImportFilter filter,
                                     boolean useExistingTable)
                              throws SQLException,
                                     IOException
Copy an existing JDBC ResultSet into a new (or optionally existing) table in this database.

Parameters:
name - Name of the new table to create
source - ResultSet to copy from
filter - valid import filter
useExistingTable - if true use current table if it already exists, otherwise, create new table with unique name
Returns:
the name of the imported table
Throws:
SQLException
IOException
See Also:
ImportUtil.Builder

importFile

public static String importFile(File f,
                                Database db,
                                String name,
                                String delim)
                         throws IOException
Copy a delimited text file into a new table in this database.

Equivalent to: importFile(f, name, db, delim, SimpleImportFilter.INSTANCE);

Parameters:
name - Name of the new table to create
f - Source file to import
delim - Regular expression representing the delimiter string.
Returns:
the name of the imported table
Throws:
IOException
See Also:
importFile(File,Database,String,String,ImportFilter), ImportUtil.Builder

importFile

public static String importFile(File f,
                                Database db,
                                String name,
                                String delim,
                                ImportFilter filter)
                         throws IOException
Copy a delimited text file into a new table in this database.

Equivalent to: importFile(f, name, db, delim, "'", filter, false);

Parameters:
name - Name of the new table to create
f - Source file to import
delim - Regular expression representing the delimiter string.
filter - valid import filter
Returns:
the name of the imported table
Throws:
IOException
See Also:
importReader(BufferedReader,Database,String,String,ImportFilter), ImportUtil.Builder

importFile

public static String importFile(File f,
                                Database db,
                                String name,
                                String delim,
                                char quote,
                                ImportFilter filter,
                                boolean useExistingTable)
                         throws IOException
Copy a delimited text file into a new table in this database.

Equivalent to: importReader(new BufferedReader(new FileReader(f)), db, name, delim, "'", filter, useExistingTable, true);

Parameters:
name - Name of the new table to create
f - Source file to import
delim - Regular expression representing the delimiter string.
quote - the quote character
filter - valid import filter
useExistingTable - if true use current table if it already exists, otherwise, create new table with unique name
Returns:
the name of the imported table
Throws:
IOException
See Also:
importReader(BufferedReader,Database,String,String,ImportFilter,boolean), ImportUtil.Builder

importFile

public static String importFile(File f,
                                Database db,
                                String name,
                                String delim,
                                char quote,
                                ImportFilter filter,
                                boolean useExistingTable,
                                boolean header)
                         throws IOException
Copy a delimited text file into a new table in this database.

Equivalent to: importReader(new BufferedReader(new FileReader(f)), db, name, delim, "'", filter, useExistingTable, header);

Parameters:
name - Name of the new table to create
f - Source file to import
delim - Regular expression representing the delimiter string.
quote - the quote character
filter - valid import filter
useExistingTable - if true use current table if it already exists, otherwise, create new table with unique name
header - if false the first line is not a header row, only valid if useExistingTable is true
Returns:
the name of the imported table
Throws:
IOException
See Also:
importReader(BufferedReader,Database,String,String,char,ImportFilter,boolean,boolean), ImportUtil.Builder

importReader

public static String importReader(BufferedReader in,
                                  Database db,
                                  String name,
                                  String delim)
                           throws IOException
Copy a delimited text file into a new table in this database.

Equivalent to: importReader(in, db, name, delim, SimpleImportFilter.INSTANCE);

Parameters:
name - Name of the new table to create
in - Source reader to import
delim - Regular expression representing the delimiter string.
Returns:
the name of the imported table
Throws:
IOException
See Also:
importReader(BufferedReader,Database,String,String,ImportFilter), ImportUtil.Builder

importReader

public static String importReader(BufferedReader in,
                                  Database db,
                                  String name,
                                  String delim,
                                  ImportFilter filter)
                           throws IOException
Copy a delimited text file into a new table in this database.

Equivalent to: importReader(in, db, name, delim, filter, false);

Parameters:
name - Name of the new table to create
in - Source reader to import
delim - Regular expression representing the delimiter string.
filter - valid import filter
Returns:
the name of the imported table
Throws:
IOException
See Also:
importReader(BufferedReader,Database,String,String,ImportFilter,boolean), ImportUtil.Builder

importReader

public static String importReader(BufferedReader in,
                                  Database db,
                                  String name,
                                  String delim,
                                  ImportFilter filter,
                                  boolean useExistingTable)
                           throws IOException
Copy a delimited text file into a new (or optionally exixsting) table in this database.

Equivalent to: importReader(in, db, name, delim, '"', filter, false);

Parameters:
name - Name of the new table to create
in - Source reader to import
delim - Regular expression representing the delimiter string.
filter - valid import filter
useExistingTable - if true use current table if it already exists, otherwise, create new table with unique name
Returns:
the name of the imported table
Throws:
IOException
See Also:
ImportUtil.Builder

importReader

public static String importReader(BufferedReader in,
                                  Database db,
                                  String name,
                                  String delim,
                                  char quote,
                                  ImportFilter filter,
                                  boolean useExistingTable)
                           throws IOException
Copy a delimited text file into a new (or optionally exixsting) table in this database.

Equivalent to: importReader(in, db, name, delim, '"', filter, useExistingTable, true);

Parameters:
name - Name of the new table to create
in - Source reader to import
delim - Regular expression representing the delimiter string.
quote - the quote character
filter - valid import filter
useExistingTable - if true use current table if it already exists, otherwise, create new table with unique name
Returns:
the name of the imported table
Throws:
IOException
See Also:
ImportUtil.Builder

importReader

public static String importReader(BufferedReader in,
                                  Database db,
                                  String name,
                                  String delim,
                                  char quote,
                                  ImportFilter filter,
                                  boolean useExistingTable,
                                  boolean header)
                           throws IOException
Copy a delimited text file into a new (or optionally exixsting) table in this database.

Parameters:
name - Name of the new table to create
in - Source reader to import
delim - Regular expression representing the delimiter string.
quote - the quote character
filter - valid import filter
useExistingTable - if true use current table if it already exists, otherwise, create new table with unique name
header - if false the first line is not a header row, only valid if useExistingTable is true
Returns:
the name of the imported table
Throws:
IOException
See Also:
ImportUtil.Builder


Copyright © 2005–2017 Health Market Science. All rights reserved.