package download; import org.junit.After; import org.junit.Before; import org.junit.Test; import download.api.ConnectionManager; import download.api.DownloadListener; import download.impl.ConnectionManagerImpl; public class FileDownloaderTest { boolean downloadFinished = false; @Before public void setUp() throws Exception {} @After public void tearDown() throws Exception {} @Test public void testDownload() { // String url = "http://121.42.185.101/forum/test.jpg"; // 此图片较大 String url = "http://121.42.185.101/forum/weixin.jpg"; // 此图片较小 FileDownloader downloader = new FileDownloader(url); ConnectionManager cm = new ConnectionManagerImpl(); downloader.setConnectionManager(cm); downloader.setListener(new DownloadListener() { @Override public void notifyFinished() { downloadFinished = true; } }); new Thread() { @Override public void run() { downloader.execute(); } }.start(); // 等待多线程下载程序执行完毕 while (!downloadFinished) { try { System.out.println("Downloaded not complete, sleep 5 second"); // 休眠5秒 Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("download complete!"); } }