Maison > Java > javaDidacticiel > Solution au problème des noms de répertoires et de fichiers chinois tronqués téléchargés par FTPClient en Java

Solution au problème des noms de répertoires et de fichiers chinois tronqués téléchargés par FTPClient en Java

巴扎黑
Libérer: 2017-07-24 15:40:03
original
4197 Les gens l'ont consulté

Description du problème :

Lors de l'utilisation de org.apache.commons.net.ftp.FTPClient pour créer un répertoire chinois et télécharger un nom de fichier chinois, le chinois dans le nom du répertoire et le nom du fichier s'affiche sous la forme "??".

Raison :

Dans le protocole FTP, le codage du nom de fichier est iso-8859-1, le nom du répertoire ou le nom du fichier doit donc être transcodé.

Solution :

1. Convertissez le répertoire ou le nom de fichier chinois en caractères codés iso-8859-1. Code de référence :

Copier le code Le code est le suivant :

String name="Nom du répertoire ou nom du fichier";

name =new String(name.getBytes("GBK"),"iso-8859-1");//Le nom du répertoire ou du fichier converti.


2. Définissez la variable d'environnement Linux

Copiez le code Le code est le suivant :

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


Exemple :

Copier le code Le le code est le suivant :


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

// créer un répertoire

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

String[] paths = path.split( "/");
for (String onepath : paths ) {
                                                           >            }

onepath=new String(onepath.getBytes("GBK"),"iso-8859-1 ");
if (!ftpClient.changeWorkingDirectory(onepath) ) {
ftpClient.makeDirectory(onepath );

ftpClient.changeWorkingDirectory(onepath);

antecedents.storeFile(
new String( fileName.getBytes("GBK") . logout();
}
return result;
}

Republié depuis :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal