Heim  >  Artikel  >  Java  >  Lösung für das Problem verstümmelter chinesischer Verzeichnis- und Dateinamen, die von FTPClient in Java hochgeladen werden

Lösung für das Problem verstümmelter chinesischer Verzeichnis- und Dateinamen, die von FTPClient in Java hochgeladen werden

巴扎黑
巴扎黑Original
2017-07-24 15:40:034159Durchsuche

Problembeschreibung:

Wenn Sie org.apache.commons.net.ftp.FTPClient verwenden, um ein chinesisches Verzeichnis zu erstellen und einen chinesischen Dateinamen hochzuladen, werden die Chinesen im Verzeichnisnamen und Der Dateiname wird als „??“ angezeigt.

Grund:

Im FTP-Protokoll ist die Dateinamenkodierung ISO-8859-1, daher muss der Verzeichnisname oder Dateiname transkodiert werden.

Lösung:

1. Konvertieren Sie den chinesischen Verzeichnis- oder Dateinamen in ISO-8859-1-codierte Zeichen. Referenzcode:

Code kopieren Der Code lautet wie folgt:

String name="Verzeichnisname oder Dateiname";

Name =new String(name.getBytes("GBK"),"iso-8859-1");//Der konvertierte Verzeichnisname oder Dateiname.


2. Legen Sie die Linux-Umgebungsvariable fest

Kopieren Sie den Code Der Code lautet wie folgt:

export LC_ALL= "zh_CN.GBK"
export LANG="zh_CN.GBK"


Beispiel:

Code kopieren Der Der Code lautet wie folgt:


public boolean upLoadFile(File file, String path, String fileName) throws IOException {
boolean result = false;
FTPClient ftpClient = new FTPClient();
Versuchen Sie es mit {
ftpClient .connect(confService.getConfValue (PortalConfContants.FTP_CLIENT_HOST)); (PortalConfContants.FTP_CLIENT_PASSWORD));
ftpClient.setFileType(FTPClient .BINARY_FILE_TYPE);

// Verzeichnis erstellen

if (path != null && !"".equals(path.trim())) {

String[] paths = path.split( "/");
for (String onepath : paths ). );
if (!ftpClient.changeWorkingDirectory(onepath) ) {
                                                                                    );
eWorkingDirectory(onepath);
}
}

}


          result = ftpClient.storeFile(
new String(fileName.getBytes(" GBK"). logout();
}
Ergebnis zurückgeben;
}

Neu gepostet von:

Das obige ist der detaillierte Inhalt vonLösung für das Problem verstümmelter chinesischer Verzeichnis- und Dateinamen, die von FTPClient in Java hochgeladen werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn