1dfb59d50631968ab1a13002ea5421ece93169851chrismair/* 2dfb59d50631968ab1a13002ea5421ece93169851chrismair * Copyright 2007 the original author or authors. 3dfb59d50631968ab1a13002ea5421ece93169851chrismair * 4dfb59d50631968ab1a13002ea5421ece93169851chrismair * Licensed under the Apache License, Version 2.0 (the "License"); 5dfb59d50631968ab1a13002ea5421ece93169851chrismair * you may not use this file except in compliance with the License. 6dfb59d50631968ab1a13002ea5421ece93169851chrismair * You may obtain a copy of the License at 7dfb59d50631968ab1a13002ea5421ece93169851chrismair * 8dfb59d50631968ab1a13002ea5421ece93169851chrismair * http://www.apache.org/licenses/LICENSE-2.0 9dfb59d50631968ab1a13002ea5421ece93169851chrismair * 10dfb59d50631968ab1a13002ea5421ece93169851chrismair * Unless required by applicable law or agreed to in writing, software 11dfb59d50631968ab1a13002ea5421ece93169851chrismair * distributed under the License is distributed on an "AS IS" BASIS, 12dfb59d50631968ab1a13002ea5421ece93169851chrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13dfb59d50631968ab1a13002ea5421ece93169851chrismair * See the License for the specific language governing permissions and 14dfb59d50631968ab1a13002ea5421ece93169851chrismair * limitations under the License. 15dfb59d50631968ab1a13002ea5421ece93169851chrismair */ 16dfb59d50631968ab1a13002ea5421ece93169851chrismairpackage org.mockftpserver.stub.example; 17dfb59d50631968ab1a13002ea5421ece93169851chrismair 18dfb59d50631968ab1a13002ea5421ece93169851chrismairimport org.apache.commons.net.ftp.FTPClient; 19dfb59d50631968ab1a13002ea5421ece93169851chrismair 20dfb59d50631968ab1a13002ea5421ece93169851chrismairimport java.io.ByteArrayOutputStream; 21dfb59d50631968ab1a13002ea5421ece93169851chrismairimport java.io.IOException; 22dfb59d50631968ab1a13002ea5421ece93169851chrismair 23dfb59d50631968ab1a13002ea5421ece93169851chrismair/** 24dfb59d50631968ab1a13002ea5421ece93169851chrismair * Simple FTP client code example. 25dfb59d50631968ab1a13002ea5421ece93169851chrismair * 26dfb59d50631968ab1a13002ea5421ece93169851chrismair * @author Chris Mair 27dfb59d50631968ab1a13002ea5421ece93169851chrismair * @version $Revision$ - $Date$ 28dfb59d50631968ab1a13002ea5421ece93169851chrismair */ 29dfb59d50631968ab1a13002ea5421ece93169851chrismairpublic class RemoteFile { 30dfb59d50631968ab1a13002ea5421ece93169851chrismair 31dfb59d50631968ab1a13002ea5421ece93169851chrismair public static final String USERNAME = "user"; 32dfb59d50631968ab1a13002ea5421ece93169851chrismair public static final String PASSWORD = "password"; 33dfb59d50631968ab1a13002ea5421ece93169851chrismair 34dfb59d50631968ab1a13002ea5421ece93169851chrismair private String server; 35dfb59d50631968ab1a13002ea5421ece93169851chrismair private int port; 36dfb59d50631968ab1a13002ea5421ece93169851chrismair 37dfb59d50631968ab1a13002ea5421ece93169851chrismair public String readFile(String filename) throws IOException { 38dfb59d50631968ab1a13002ea5421ece93169851chrismair 39dfb59d50631968ab1a13002ea5421ece93169851chrismair FTPClient ftpClient = new FTPClient(); 40dfb59d50631968ab1a13002ea5421ece93169851chrismair ftpClient.connect(server, port); 41dfb59d50631968ab1a13002ea5421ece93169851chrismair ftpClient.login(USERNAME, PASSWORD); 42dfb59d50631968ab1a13002ea5421ece93169851chrismair 43dfb59d50631968ab1a13002ea5421ece93169851chrismair ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 44dfb59d50631968ab1a13002ea5421ece93169851chrismair boolean success = ftpClient.retrieveFile(filename, outputStream); 45dfb59d50631968ab1a13002ea5421ece93169851chrismair ftpClient.disconnect(); 46dfb59d50631968ab1a13002ea5421ece93169851chrismair 47dfb59d50631968ab1a13002ea5421ece93169851chrismair if (!success) { 48dfb59d50631968ab1a13002ea5421ece93169851chrismair throw new IOException("Retrieve file failed: " + filename); 49dfb59d50631968ab1a13002ea5421ece93169851chrismair } 50dfb59d50631968ab1a13002ea5421ece93169851chrismair return outputStream.toString(); 51dfb59d50631968ab1a13002ea5421ece93169851chrismair } 52dfb59d50631968ab1a13002ea5421ece93169851chrismair 53dfb59d50631968ab1a13002ea5421ece93169851chrismair /** 54dfb59d50631968ab1a13002ea5421ece93169851chrismair * Set the hostname of the FTP server 55dfb59d50631968ab1a13002ea5421ece93169851chrismair * 56dfb59d50631968ab1a13002ea5421ece93169851chrismair * @param server - the hostname of the FTP server 57dfb59d50631968ab1a13002ea5421ece93169851chrismair */ 58dfb59d50631968ab1a13002ea5421ece93169851chrismair public void setServer(String server) { 59dfb59d50631968ab1a13002ea5421ece93169851chrismair this.server = server; 60dfb59d50631968ab1a13002ea5421ece93169851chrismair } 61dfb59d50631968ab1a13002ea5421ece93169851chrismair 62dfb59d50631968ab1a13002ea5421ece93169851chrismair /** 63dfb59d50631968ab1a13002ea5421ece93169851chrismair * Set the port number for the FTP server 64dfb59d50631968ab1a13002ea5421ece93169851chrismair * 65dfb59d50631968ab1a13002ea5421ece93169851chrismair * @param port - the port number 66dfb59d50631968ab1a13002ea5421ece93169851chrismair */ 67dfb59d50631968ab1a13002ea5421ece93169851chrismair public void setPort(int port) { 68dfb59d50631968ab1a13002ea5421ece93169851chrismair this.port = port; 69dfb59d50631968ab1a13002ea5421ece93169851chrismair } 70dfb59d50631968ab1a13002ea5421ece93169851chrismair 71dfb59d50631968ab1a13002ea5421ece93169851chrismair // Other methods ... 72dfb59d50631968ab1a13002ea5421ece93169851chrismair} 73