DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Java (http://www.daniweb.com/forums/forum9.html)
-   -   downloading to a certain directory (http://www.daniweb.com/forums/thread177520.html)

PhiberOptik Feb 22nd, 2009 3:29 am
downloading to a certain directory
 
Hey guys,
I wanna download a file to a certain directory on the computer. I have code that downloads to the same place where it's launched but I want it to download the files do another directory.

(This isnt my code I found it on a tutorial)

Here is the code:
package downloaderPKG;

import java.io.*;
import java.net.*;

public class FileDownload {
        public static void download(String address, String localFileName) {
                OutputStream out = null;
                URLConnection conn = null;
                InputStream  in = null;
                try {
                        URL url = new URL(address);
                        out = new BufferedOutputStream(
                                new FileOutputStream(localFileName));
                        conn = url.openConnection();
                        in = conn.getInputStream();
                        byte[] buffer = new byte[1024];
                        int numRead;
                        long numWritten = 0;
                        while ((numRead = in.read(buffer)) != -1) {
                                out.write(buffer, 0, numRead);
                                numWritten += numRead;
                        }
                        System.out.println(localFileName + "\t" + numWritten);
                } catch (Exception exception) {
                        exception.printStackTrace();
                } finally {
                        try {
                                if (in != null) {
                                        in.close();
                                }
                                if (out != null) {
                                        out.close();
                                }
                        } catch (IOException ioe) {
                        }
                }
        }

        public static void download(String address) {
                int lastSlashIndex = address.lastIndexOf('/');
                if (lastSlashIndex >= 0 &&
                    lastSlashIndex < address.length() - 1) {
                        download(address, address.substring(lastSlashIndex + 1));
                } else {
                        System.err.println("Could not figure out local file name for " +
                                address);
                }
        }
}

punitdam Feb 22nd, 2009 4:13 am
Re: downloading to a certain directory
 
Just specify the entire path where you want to store file as localFileName.

PhiberOptik Feb 22nd, 2009 12:37 pm
Re: downloading to a certain directory
 
Okay so I modified
new FileOutputStream("C:\\"+localFileName));
now here is my code:
package downloaderPKG;

import java.io.*;
import java.net.*;

public class FileDownload {
        public static void download(String address, String localFileName) {
                OutputStream out = null;
                URLConnection conn = null;
                InputStream  in = null;
                try {
                        URL url = new URL(address);
                        out = new BufferedOutputStream(
                                new FileOutputStream("C:\\"+localFileName));
                        conn = url.openConnection();
                        in = conn.getInputStream();
                        byte[] buffer = new byte[1024];
                        int numRead;
                        long numWritten = 0;
                        while ((numRead = in.read(buffer)) != -1) {
                                out.write(buffer, 0, numRead);
                                numWritten += numRead;
                        }
                        System.out.println(localFileName + "\t" + numWritten);
                } catch (Exception exception) {
                        exception.printStackTrace();
                } finally {
                        try {
                                if (in != null) {
                                        in.close();
                                }
                                if (out != null) {
                                        out.close();
                                }
                        } catch (IOException ioe) {
                        }
                }
        }

        public static void download(String address) {
                int lastSlashIndex = address.lastIndexOf('/');
                if (lastSlashIndex >= 0 &&
                    lastSlashIndex < address.length() - 1) {
                        download(address, address.substring(lastSlashIndex + 1));
                } else {
                        System.err.println("Could not figure out local file name for " +
                                address);
                }
        }
}

Here is my error:
java.io.FileNotFoundException: C:\application.jar (Access is denied)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at downloaderPKG.FileDownload.download(FileDownload.java:14)
        at MainClass.main(MainClass.java:11)


All times are GMT -4. The time now is 4:47 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC