使用commons-net 包裏面的ftp時,建立目錄的時候會有中文亂碼,主要是ftp的文件名編碼是iso-8859-1的,所以在根據文件名獲取輸出流的時候需要對文件名轉編碼格式:
ftpClient.appendFileStream(new String(fullPath.getBytes("utf-8"), "iso-8859-1"))
或者第二種方法就是在和ftp建立連接之前,直接設置ftp的編碼:
ftpClient.setControlEncoding("UTF-8");
第二種需要注意的是,需要在和FTP建立連接之前設置好編碼格式。