﻿package ftp;

import java.io.ByteArrayOutputStream;

/**
 * FTP簡易クライアント.
 */
public class FtpSimpleClientTest {

	/**
	 * アプリケーション起動.
	 * @param args コマンド引数
	 * @throws Exception 例外
	 */
	public static void main(String[] args) throws Exception {
		ByteArrayOutputStream baos = null;

		// 
		FtpSimpleClient ftp = new FtpSimpleClient("192.0.2.1", false);
		ftp.setDebug(true);

		// 接続
		ftp.connect();

		// ログイン
		ftp.logon("user", "pass");

		// データ形式
		ftp.type(false);

		/* ----------==========---------- */

		System.out.println("PWD:" + ftp.pwd());
		System.out.println("LIST:" + ftp.list());

		ftp.disconnect();
		if(true) return;

		/* ----------==========---------- */

		ftp.cdup();
		System.out.println("PWD:" + ftp.pwd());

		ftp.cwd("/home/user");
		System.out.println("PWD:" + ftp.pwd());

		ftp.cwd("../user");
		System.out.println("PWD:" + ftp.pwd());

		ftp.cwd("dummy");
		System.out.println("PWD:" + ftp.pwd());

		ftp.mkd("ftptest");
		ftp.cwd("ftptest");
		System.out.println("PWD:" + ftp.pwd());

		ftp.cdup();
		ftp.rmd("ftptest");

		/* ----------==========---------- */

		// PORTモードへ
		ftp.setPassive(false);

		// ファイル送信
		ftp.put("/home/user/ftptest.txt", "FtpSimpleClient PORT test.\n日本語".getBytes());

		// ファイル受信
		baos = new ByteArrayOutputStream();
		ftp.get("/home/user/ftptest.txt", baos);
		System.out.println(baos.toString());

		/* ---------- */

		// PASVモードへ
		ftp.setPassive(true);

		// ファイル送信
		ftp.put("/home/user/ftptest.txt", "FtpSimpleClient PASV test.\n日本語".getBytes());

		// ファイル受信
		baos = new ByteArrayOutputStream();
		ftp.get("/home/user/ftptest.txt", baos);
		System.out.println(baos.toString());

		/* ---------- */

		// ファイル削除
		ftp.dele("/home/user/ftptest.txt");

		// 切断
		ftp.disconnect();

	}

}
