I have a project due tomorrow which is to make a download manager , i have been able to download file and also multiple files can be downloaded but they are downloaded in form like queues , now the problem is that i can't seem the pause , stop , cancel the download and i am really in trouble if i don't do that so can anyone please please help me out?
here's the code i am pasting
import java.io.*;
import java.net.*;
 
 
public class myDownload{
 
	public float getSize(){
		return fileSize;
	}
 
	public myDownload(){
		mainDl();
	}
 
	public static void fileUrl(String fAddress, String
	localFileName, String destinationDir) {
 
	try {
 
		Url= new URL(fAddress);
		outStream = new BufferedOutputStream(new
				FileOutputStream(destinationDir+"\\"+localFileName));
 
		uCon = Url.openConnection();
		fileSize=uCon.getContentLength();
	//System.out.println("size is"+ tt/1048576);
 
 
		is = uCon.getInputStream();
		buf = new byte[size];
		while ((ByteRead = is.read(buf)) != -1) {
			outStream.write(buf, 0, ByteRead);
			ByteWritten += ByteRead;
		}
	System.out.println("Downloaded Successfully.");
	System.out.println("File name:\""+localFileName+ "\"\nNo ofbytes :" + ByteWritten);
	}
 
	catch (Exception e) {
		e.printStackTrace();
	}
	finally {
		try {
			is.close();
			outStream.close();
		}
		catch (IOException e) {
			e.printStackTrace();
			}
		}
	}
 
 
	synchronized public static void fileDownload()
	{
	System.out.println("filedownload"); 
	 fAddress=dmGUI.getLink();
	 destinationDir=dmGUI.getLoc();
	  int slashIndex =fAddress.lastIndexOf('/');
	int periodIndex =fAddress.lastIndexOf('.');
 
	String fileName=fAddress.substring(slashIndex + 1);
 
	if (periodIndex >=1 &&  slashIndex >= 0 && slashIndex < fAddress.length()-1){
		fileUrl(fAddress,fileName,destinationDir);
	}
	else{
		System.err.println("path or file name.");
		}
	}
 
	public static void mainDl(){
		new Thread(
			new Runnable(){
				public void run(){
					fileDownload();
				}
		}).start();
}
 
	final static int size=1024;
	static byte buf[];
	static OutputStream outStream = null;
	static URLConnection  uCon = null;
	static InputStream is = null;
	static int ByteRead,ByteWritten=0;
	static URL Url;
	static float fileSize=0.0f;
	static String fAddress;
	static String destinationDir;	
}