当前位置: 首页 > news >正文

潍坊做网站公司潍坊网络公司专业的微网站哪家好

潍坊做网站公司潍坊网络公司,专业的微网站哪家好,教育网站建设网站,soho在哪里做网站今天被ftp上中文名修改坑了好久项目用的是 apache commons 里的 FtpClient 实现的对ftp文件的上传下载操作#xff0c;今天增加了业务要修改ftp上的文件名#xff0c;然后就一直的报错#xff0c;问题是它修改名字的方法只返回一个boolean#xff0c;没有异常#xff0c;这…今天被ftp上中文名修改坑了好久项目用的是 apache commons 里的 FtpClient 实现的对ftp文件的上传下载操作今天增加了业务要修改ftp上的文件名然后就一直的报错问题是它修改名字的方法只返回一个boolean没有异常这就很蛋疼了找了好久才发现是中文的名字的原因改名直接上代码package net.codejava.ftp;import java.io.IOException;import org.apache.commons.net.ftp.FTPClient;public class FTPRenamer {public static void main(String[] args) {String server www.ftpserver.com;int port 21;String user username;String pass password;FTPClient ftpClient new FTPClient();try {ftpClient.connect(server, port);ftpClient.login(user, pass);// renaming directoryString oldDir /photo;String newDir /photo_2012;boolean success ftpClient.rename(oldDir, newDir);if (success) {System.out.println(oldDir was successfully renamed to: newDir);} else {System.out.println(Failed to rename: oldDir);}// renaming fileString oldFile /work/error.png;String newFile /work/screenshot.png;success ftpClient.rename(oldFile, newFile);if (success) {System.out.println(oldFile was successfully renamed to: newFile);} else {System.out.println(Failed to rename: oldFile);}ftpClient.logout();ftpClient.disconnect();} catch (IOException ex) {ex.printStackTrace();} finally {if (ftpClient.isConnected()) {try {ftpClient.logout();ftpClient.disconnect();} catch (IOException ex) {ex.printStackTrace();}}}}}如果修改的名字里没有中文用上面的代码就够了但如果有中文就要对文件名进行转码了转码代码如下// renaming fileString oldFile /work/你好.png;String newFile /work/世界.png;success ftpClient.rename(new String(oldFile.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1),new String(newFile.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1));这样再修改名字就没有问题了顺便记录一下上传、下载、删除、检查文件是否存在 同样的如果有中文名最好先转一下码再进行操作上传import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;/*** A program that demonstrates how to upload files from local computer* to a remote FTP server using Apache Commons Net API.* author www.codejava.net*/public class FTPUploadFileDemo {public static void main(String[] args) {String server www.myserver.com;int port 21;String user user;String pass pass;FTPClient ftpClient new FTPClient();try {ftpClient.connect(server, port);ftpClient.login(user, pass);ftpClient.enterLocalPassiveMode();ftpClient.setFileType(FTP.BINARY_FILE_TYPE);// APPROACH #1: uploads first file using an InputStreamFile firstLocalFile new File(D:/Test/Projects.zip);String firstRemoteFile Projects.zip;InputStream inputStream new FileInputStream(firstLocalFile);System.out.println(Start uploading first file);boolean done ftpClient.storeFile(firstRemoteFile, inputStream);inputStream.close();if (done) {System.out.println(The first file is uploaded successfully.);}// APPROACH #2: uploads second file using an OutputStreamFile secondLocalFile new File(E:/Test/Report.doc);String secondRemoteFile test/Report.doc;inputStream new FileInputStream(secondLocalFile);System.out.println(Start uploading second file);OutputStream outputStream ftpClient.storeFileStream(secondRemoteFile);byte[] bytesIn new byte[4096];int read 0;while ((read inputStream.read(bytesIn)) ! -1) {outputStream.write(bytesIn, 0, read);}inputStream.close();outputStream.close();boolean completed ftpClient.completePendingCommand();if (completed) {System.out.println(The second file is uploaded successfully.);}} catch (IOException ex) {System.out.println(Error: ex.getMessage());ex.printStackTrace();} finally {try {if (ftpClient.isConnected()) {ftpClient.logout();ftpClient.disconnect();}} catch (IOException ex) {ex.printStackTrace();}}}}下载import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;/*** A program demonstrates how to upload files from local computer to a remote* FTP server using Apache Commons Net API.* author www.codejava.net*/public class FTPDownloadFileDemo {public static void main(String[] args) {String server www.myserver.com;int port 21;String user user;String pass pass;FTPClient ftpClient new FTPClient();try {ftpClient.connect(server, port);ftpClient.login(user, pass);ftpClient.enterLocalPassiveMode();ftpClient.setFileType(FTP.BINARY_FILE_TYPE);// APPROACH #1: using retrieveFile(String, OutputStream)String remoteFile1 /test/video.mp4;File downloadFile1 new File(D:/Downloads/video.mp4);OutputStream outputStream1 new BufferedOutputStream(new FileOutputStream(downloadFile1));boolean success ftpClient.retrieveFile(remoteFile1, outputStream1);outputStream1.close();if (success) {System.out.println(File #1 has been downloaded successfully.);}// APPROACH #2: using InputStream retrieveFileStream(String)String remoteFile2 /test/song.mp3;File downloadFile2 new File(D:/Downloads/song.mp3);OutputStream outputStream2 new BufferedOutputStream(new FileOutputStream(downloadFile2));InputStream inputStream ftpClient.retrieveFileStream(remoteFile2);byte[] bytesArray new byte[4096];int bytesRead -1;while ((bytesRead inputStream.read(bytesArray)) ! -1) {outputStream2.write(bytesArray, 0, bytesRead);}success ftpClient.completePendingCommand();if (success) {System.out.println(File #2 has been downloaded successfully.);}outputStream2.close();inputStream.close();} catch (IOException ex) {System.out.println(Error: ex.getMessage());ex.printStackTrace();} finally {try {if (ftpClient.isConnected()) {ftpClient.logout();ftpClient.disconnect();}} catch (IOException ex) {ex.printStackTrace();}}}}删除import java.io.IOException;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPReply;public class FTPDeleteFileDemo {public static void main(String[] args) {String server www.myserver.com;int port 21;String user user;String pass pass;FTPClient ftpClient new FTPClient();try {ftpClient.connect(server, port);int replyCode ftpClient.getReplyCode();if (!FTPReply.isPositiveCompletion(replyCode)) {System.out.println(Connect failed);return;}boolean success ftpClient.login(user, pass);if (!success) {System.out.println(Could not login to the server);return;}String fileToDelete /repository/video/cool.mp4;boolean deleted ftpClient.deleteFile(fileToDelete);if (deleted) {System.out.println(The file was deleted successfully.);} else {System.out.println(Could not delete the file, it may not exist.);}} catch (IOException ex) {System.out.println(Oh no, there was an error: ex.getMessage());ex.printStackTrace();} finally {// logs out and disconnects from servertry {if (ftpClient.isConnected()) {ftpClient.logout();ftpClient.disconnect();}} catch (IOException ex) {ex.printStackTrace();}}}}检查文件/文件夹是否存在package net.codejava.ftp;import java.io.IOException;import java.io.InputStream;import java.net.SocketException;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPReply;/*** This program demonstrates how to determine existence of a specific* file/directory on a remote FTP server.* author www.codejava.net**/public class FTPCheckFileExists {private FTPClient ftpClient;private int returnCode;/*** Determines whether a directory exists or not* param dirPath* return true if exists, false otherwise* throws IOException thrown if any I/O error occurred.*/boolean checkDirectoryExists(String dirPath) throws IOException {ftpClient.changeWorkingDirectory(dirPath);returnCode ftpClient.getReplyCode();if (returnCode 550) {return false;}return true;}/*** Determines whether a file exists or not* param filePath* return true if exists, false otherwise* throws IOException thrown if any I/O error occurred.*/boolean checkFileExists(String filePath) throws IOException {InputStream inputStream ftpClient.retrieveFileStream(filePath);returnCode ftpClient.getReplyCode();if (inputStream null || returnCode 550) {return false;}return true;}/*** Connects to a remote FTP server*/void connect(String hostname, int port, String username, String password)throws SocketException, IOException {ftpClient new FTPClient();ftpClient.connect(hostname, port);returnCode ftpClient.getReplyCode();if (!FTPReply.isPositiveCompletion(returnCode)) {throw new IOException(Could not connect);}boolean loggedIn ftpClient.login(username, password);if (!loggedIn) {throw new IOException(Could not login);}System.out.println(Connected and logged in.);}/*** Logs out and disconnects from the server*/void logout() throws IOException {if (ftpClient ! null ftpClient.isConnected()) {ftpClient.logout();ftpClient.disconnect();System.out.println(Logged out);}}/*** Runs this program*/public static void main(String[] args) {String hostname www.yourserver.com;int port 21;String username your_user;String password your_password;String dirPath Photo;String filePath Music.mp4;FTPCheckFileExists ftpApp new FTPCheckFileExists();try {ftpApp.connect(hostname, port, username, password);boolean exist ftpApp.checkDirectoryExists(dirPath);System.out.println(Is directory dirPath exists? exist);exist ftpApp.checkFileExists(filePath);System.out.println(Is file filePath exists? exist);} catch (IOException ex) {ex.printStackTrace();} finally {try {ftpApp.logout();} catch (IOException ex) {ex.printStackTrace();}}}}参考总结以上所述是小编给大家介绍的java使用apache commons连接ftp修改ftp文件名失败原因,希望对大家有所帮助如果大家有任何疑问请给我留言小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持如果你觉得本文对你有帮助欢迎转载烦请注明出处谢谢
http://www.yutouwan.com/news/495836/

相关文章:

  • 鞍山网站开发公司盐城营销网站建设
  • 做的怎样 英文网站赣州建设信息网
  • 个人网站建设的参考文献wordpress 伪静态 效果
  • 东莞网站建设制作北京网站代运营公司
  • 电子商务网站的设计与开发网站建设过程的结构图
  • 一学一做看视频网站有哪些内容国产比较好的精华
  • 网站开发实训网站建设最好用什么语言
  • 成都网站优化页面wordpress svg logo
  • 做网站运营要了解哪些中国平面设计在线
  • 网站维护和更新无法打开wordpress网页
  • 精品资源共享课程网站建设论文北京建设网站的公司
  • 网站建设制作及推广沈阳出名网站
  • dedecms 网站安装教程清溪网站建设
  • 淄博网站建设优化运营熊掌号企业网站建设存在的典型问题有哪些?
  • 东莞网站设地wordpress很卡
  • 阿里云网站建设优化公司的网站建设做什么费用
  • 建设导航网站费用iis7如何搭建网站
  • 帮人注册网站_做app电子邮箱怎么申请
  • 网上找客户有哪些网站无锡百度搜索排名优化
  • 江苏省建设考试培训网站北京医疗网站建设公司排名
  • 网站怎么换服务器做网站自动赚钱吗
  • 龙岗公司网站建设好看的网站首页
  • 太仓有没有做网站建设的wordpress怎样改头像
  • 昵图网素材图库免费下载网站导航优化的描述
  • 滕州市 网站建设公司广州推广网站
  • pa66用途障车做网站界面漂亮的网站
  • 网站平台建设投资费用清单wordpress设置固定链接静态化
  • 做课件挣钱的网站如何免费开网店
  • 养生网站模板网站建设座谈会上的发言
  • 西安的网站建设网站wordpress 时光轴代码