【问题标题】:how to open .mdb from ftp location jackcess如何从 ftp 位置 jackcess 打开 .mdb
【发布时间】:2013-02-23 13:06:24
【问题描述】:

大家好,使用此代码我可以成功下载 allpg.mdb 并显示... 现在我想将下载的文件保存到 c:/folder....

如果我编辑

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.

我只想将下载的文件保存到本地驱动器的任何位置。

代码如下:

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();
  }
}

} }

【问题讨论】:

    标签: java database ftp sharing jackcess


    【解决方案1】:

    您没有为 Jackcess 构造函数提供正确的文件名。应该是:

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

    【讨论】:

    • 表表 = Database.open(dbTempFile).getTable("items");它给出了错误:局部变量 dbTempFile 可能尚未初始化
    • @user2058260 - 我猜你正在破坏数据库。请确保您已成功下载文件。使用 ftp 时的一个常见错误来源是未使用“二进制”模式。
    • @jtahlborn- 现在代码工作正常,你能告诉我这个文件是在哪个位置下载的,以便我可以进一步访问。
    • 基本上我想下载一个 csv 文件,然后用 Database.open(new File("c:/MDMSTATS/APEX/APEXCONV.mdb")).importFile("items", new File("c:/MDMSTATS/APEX/testreport_pakistan.csv"), ",");
    • 所以我需要转换 csv 文件的位置
    猜你喜欢
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    相关资源
    最近更新 更多