Для этого вам нужно создать объект, а затем использовать его для выполнения и отмены задачи.
Так что для запуска AsyncTask в соответствии с вашим кодом, вы должны делать
new DownloadFileAsync().execute(<your inputs>);
Что вам нужно сделать, объявить глобальную переменную уровня класса и использовать ее для запуска выполнения
DownloadFileAsync mDownloadFileAsync = null; //declare as class global
mDownloadFileAsync = new DownloadFileAsync();
mDownloadFileAsync.execute(<your inputs>);
Для отмены используйте этот экземпляр DownloadFileAsync
if (mDownloadFileAsync != null && mDownloadFileAsync.getStatus == AsyncTask.Status.Running){
mDownloadFileAsync.cancel(true);
}
А также измените условие цикла while внутри AsyncTask, как упомянуто @Gabe Sechan и @Miraz Mahmud
while ((count = input.read(data)) != -1 && !isCancelled())