simpleftp.jarファイルをプログラムと同じディレクトリに保存しておくこと。
//小松原ゼミ Java サンプルプログラムソース
//FTPsend.java
//ユーザ名、パスワード、サーバアドレス、送信するファイル名 を
//GUIウィンドウ内で指定して送信ボタンをクリックすると、FTP送信を行う。
//コンパイルする際には、同じディレクトリに simpleftp.jar を
//入れておかなければならない。この中にFTP接続のためのクラスが
//記述されている。
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.net.*;
import java.io.*;
import java.util.*;
import org.jibble.simpleftp.*; //simpleftp.jar を使うためのimport文
public class FTPsend extends JFrame implements ActionListener{
JLabel prompt = new JLabel("ユーザ名を入力");
JTextField text = new JTextField("", 15);
JLabel prompt2 = new JLabel("パスワードを入力");
JTextField text2 = new JTextField("", 15);
JLabel prompt3 = new JLabel("サーバアドレス入力");
JTextField text3 = new JTextField("", 15);
JLabel prompt4 = new JLabel("ファイル名入力");
JTextField text4 = new JTextField("", 15);
JButton btn = new JButton("送信");
JLabel prompt5 = new JLabel("");
private static final int CTRLPORT = 21; // ftpの制御用のポート
private static Socket ctrlSocket; // 制御用ソケット
private static PrintWriter ctrlOutput; // 制御出力用ストリーム
private static BufferedReader ctrlInput; // 制御入力用ストリーム
private static byte[] localHostAddress; // ローカルホストのアドレス
//以下の変数は、実際にはテキストフィールドで指定された値に
//置き換わります。
static String serverName="kom.in.osu.ac.jp";
static String fileName="FTP1.java"; //送信するファイル名
static String userName="yamada"; //各自のユーザ名
static String passWord="password"; //パスワード
/** Creates a new instance of GetURI */
FTPsend(String title){
setTitle(title);
//ウィンドウの大きさを設定
setBounds( 200, 100, 330, 200);
//ボタンが押されたときにactionPerformed()メソッドを呼び出せるように
//登録
btn.addActionListener(this);
//GUI部品を貼り付けるパネルを用意
JPanel p = new JPanel();
// GridLayout layout = new GridLayout(8,1,0,5);
// p.setLayout(layout);
p.add(prompt);
p.add(text);
p.add(prompt2);
p.add(text2);
p.add(prompt3);
p.add(text3);
p.add(prompt4);
p.add(text4);
p.add(btn);
p.add(prompt5);
//ContentPaneにパネルを貼り付け
getContentPane().add(p);
}
public static void main(String[] args){
FTPsend inst = new FTPsend("FTP send");
/* 終了処理を追加 */
inst.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);}
});
//ウィンドウを表示
inst.setVisible(true);
}
//ボタンが押されたときの処理
public void actionPerformed(ActionEvent e) {
prompt5.setText("送信処理を行います。");
userName=text.getText();
passWord=text2.getText();
serverName=text3.getText();
try {
SimpleFTP ftp = new SimpleFTP();
// Connect to an FTP server on port 21.
ftp.connect(serverName, 21, userName, passWord);
prompt5.setText("サーバに接続しました。");
// Set binary mode.
//ftp.bin();
ftp.ascii();
prompt5.setText("ASCIIモードにします。");
// Change to a new working directory on the FTP server.
// ftp.cwd("web");
// Upload a file.
ftp.stor(new File(text4.getText()));
prompt5.setText("ファイル"+text4.getText()+"を送信しました。");
// Quit from the FTP server.
ftp.disconnect();
prompt5.setText("送信し、接続を切断しました。");
}
catch (IOException ev) {
System.out.println("エラーが発生しました。");
prompt5.setText("エラーが発生しました。");
ev.printStackTrace();
}
}
}
▼研究演習ホームに戻る
▼小松原研究室公開ページ
▼経営学科詳細紹介ページ
|
|