Search code examples
javadatabaseftpsharingjackcess

how to open .mdb from ftp location jackcess


hi all with this code i can successfully download allpg.mdb and displaying... now i want to save the downloaded file to c:/folder....

if i edit

dbTempFile = File.createTempFile("dbTempFile",".mdb");   to
dbTempFile = File.createTempFile("c:/dbTempFile",".mdb"); than it give : The filename, directory name, or volume label syntax is incorrect error.

i just want to save the downloaded file to any where to my local drive.

here is code:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.commons.net.ftp.FTPClient;

import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.Table;

public class DownloadFile {
public static void main(String[] args) throws Exception {
FTPClient client = new FTPClient();

File dbTempFile=null; 
FileOutputStream fileOutputStream = null;

try {
  client.connect("ftp.mypak.com");
  client.login("myid", "mypwd");
  client.setFileType(FTPClient.BINARY_FILE_TYPE);

  dbTempFile = File.createTempFile("dbTempFile",".mdb");
  fileOutputStream = new FileOutputStream(dbTempFile);
  client.retrieveFile("/HASSAN/MDMSTATS/allpg.mdb", fileOutputStream);
} catch (IOException ex) {
  ex.printStackTrace();
} finally {
  try {
    if (fileOutputStream != null) {
      fileOutputStream.close();
      System.out.println("got");





     Table table = Database.open(dbTempFile).getTable("items");
     System.out.println(table.display());

      System.out.println("got");
    }
    client.disconnect();
  } catch (IOException ex) {
    ex.printStackTrace();
  }
}

} }


Solution

  • You are not giving the right file name to the Jackcess constructor. should be:

          Table table = Database.open(dbTempFile).getTable("items");