Java 是一款強大的編程語言,其擁有處理文件的能力,可以通過文件流實現上傳和下載文件的功能。
文件上傳是指將本地文件發送到遠程服務器,文件下載是指從服務器下載目標文件到本地。以下是 Java 文件上傳和下載文件的代碼:
//上傳文件 public void uploadFile(String filePath){ File file = new File(filePath); try{ FileInputStream fis = new FileInputStream(file); FTPClient ftp = new FTPClient(); ftp.connect(serverUrl, serverPort); ftp.login(username, password); ftp.setFileType(FTP.BINARY_FILE_TYPE); ftp.enterLocalPassiveMode(); ftp.storeFile(serverPath + file.getName(), fis); fis.close(); ftp.logout(); ftp.disconnect(); }catch(IOException e){ e.printStackTrace(); } } //下載文件 public void downloadFile(String fileName){ FTPClient ftp = new FTPClient(); try{ ftp.connect(serverUrl, serverPort); ftp.login(username, password); ftp.enterLocalPassiveMode(); ftp.setFileType(FTP.BINARY_FILE_TYPE); ftp.changeWorkingDirectory(serverPath); File localFile = new File(fileName); OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(localFile)); boolean success = ftp.retrieveFile(fileName, outputStream); outputStream.flush(); outputStream.close(); ftp.logout(); ftp.disconnect(); }catch(IOException e){ e.printStackTrace(); } }
代碼中使用了 FTPClient 類來實現文件的上傳和下載。其中,FTPClient.connect() 方法用于建立連接,FTPClient.login() 方法用于登錄,FTPClient.setFileType() 方法設置文件類型,FTPClient.enterLocalPassiveMode() 方法啟動被動模式,FTPClient.storeFile() 方法上傳文件,FTPClient.changeWorkingDirectory() 方法切換目錄,FTPClient.retrieveFile() 方法下載文件,FTPClient.logout() 方法用于結束 FTP 的會話,FTPClient.disconnect() 方法用于關閉連接。
通過文件流實現文件上傳和下載是 Java 編程中的常見操作,使用 FTPClient 類可以很方便地實現這一功能。