0

Ftpサーバーに特定のファイルをダウンロードする動作中のアプリケーションがあります。ダウンロードしたいファイル名があるので、接続して使用していました:ftp.retrieveFile(filename、fileInputStream);

そのため、今度はftpサーバーを変更する必要がありました。この新しい1つのftpサーバーは、Linuxで実行されていると思います(古いサーバーはWindowsでした)。現在、çãáóõのようなISO-8859-1文字列を含む名前のファイルをダウンロードできません。FTPClientのコンストラクターの直後にftpClient.setControlEncoding( "ISO-8859-1")を使用しようとしましたが、機能しませんでした。retrevieFileが呼び出されると、ファイルが見つからないためfalseが返されます。ただし、これらの文字列がないファイル名でも正常に機能します。

別のファイルからファイル名を読み取っています...ファイル名をISO_8859-1として読み取ったことを一度間違えました(ただし、ファイルではUTF-8としてエンコードされていました)。その後、retrevieFileを試行しましたが、奇妙な動作をしました。名前の文字。何が起こっている??

編集:

これはサーバーからの回答です。

SYST 215 UNIXタイプ:L8

FEAT 211-機能:EPRT EPSV MDTMPASVRESTストリームサイズTVFS211終了

4

1 に答える 1

0

OKこれは解決されました。gftpが名前に間違ったエンコーディングのファイルをアップロードしていることに気づきました。UTF8を使用していました

于 2010-11-26T11:30:35.563 に答える