0

Apache 共通ライブラリを使用して ftp でファイルをアップロードしようとしています。これらのファイルは同じままで、異なるホストに何度かアップロードする必要があるファイルであるため、これらのファイルを jar 内に保持したいと考えています。

私は次のことを試みています:

    public void doCGIRecovery() throws IOException{
    System.out.println(getClass().getResource("/cgi/example").getPath());
    FileInputStream file = new FileInputStream(getClass().getResource("/cgi/example").getPath());
    f.storeFile("./", file);
}

Eclipseを使用すると、これが機能し、sysoutが私に与えています:

/Users/user/Documents/workspace/example-Project/bin/com/example/java/example/business/cgi/example

しかし、jar にコンパイルした後、次のように返されます。

file:/Users/user/Desktop/example.jar!/com/example/java/example/business/cgi/example

そして、私は(そのようなファイルやディレクトリはありません)を取得します。

それで、それはどのように来るのですか?さらに、「!」はどこにありますか?example.jar の後は?

よろしくお願いします

4

1 に答える 1

0

パスをいじる心配はありません。代わりに getClass().getResourceAsStream() を使用してください。

于 2012-11-12T21:12:19.020 に答える