У файла Ftp скачанный путь есть проблема? - PullRequest
1 голос
/ 25 января 2011

У меня есть Java-код для загрузки файла через ftp, после загрузки файла он идет по умолчанию. В указанном пути назначения отсутствует загруженный файл. Зачем? мой код

  public class ftpUpload1
  {    

   public static void main(String a[]) throws IOException
{
          ftpUpload1 obj = new ftpUpload1();
          URL url1 = new URL("ftp://vbalamurugan:vbalamurugan@192.168.6.38/ddd.txt" );
 File dest = new File("D:/rvenkatesan/Software/ddd.txt");
       obj.ftpDownload(dest, url1);

     public void ftpDownload(File destination,URL url) throws IOException
 { 
 BufferedInputStream bis = null;
 BufferedOutputStream bos = null;
 try
 {
  URLConnection urlc = url.openConnection();



bis = new BufferedInputStream( urlc.getInputStream() );
   bos = new BufferedOutputStream( new 
                  FileOutputStream(destination.getName() ) );

   int i;
   //read byte by byte until end of stream
   while ((i = bis.read())!= -1)
   {
    // bos.write(i);
    bos.write(i);
   }
   System.out.println("File Downloaded Successfully");
  }
  finally
  {
   if (bis != null)
    try
   {
     bis.close();
   }
   catch (IOException ioe)
   {
    ioe.printStackTrace();
   }
   if (bos != null)
    try
   {
     bos.close();
   }
   catch (IOException ioe)
   {
    ioe.printStackTrace();
   }
  }

  }
        }

       }

Загруженный файл "ddd.txt" отсутствует в "D: / rvenktesan / Software". Он расположен в "D: rvenkatesan / JAVA PROJECTS". Зачем? укажете мне сохранить файл по указанному пути? Спасибо заранее.

1 Ответ

1 голос
/ 25 января 2011

Ваша проблема FileOutputStream(destination.getName() ) ); изменить это на: FileOutputStream(destination.getAbsolutePath() ) );

getName будет возвращать только имя файла "ddd.txt".Я полагаю, вы запускаете приложение с D:/rvenkatesan/JAVA PROJECTS

...