Chuyên đề Tham khảo đặc biệt
Mã nguồn File Upload and Download với server FTP trong java
Mã nguồn tham khảo Upload and Download file với server FTP trong java
                       
package com.resource.util;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

/**
 * This class is used to upload a file to a FTP server.
 *
 * @author Muthu
 */
public class FileUpload
{

   /**
    * Upload a file to a FTP server. A FTP URL is generated with the
    * following syntax:
    * ftp://user:password@host:port/filePath;type=i.
    *
    * @param ftpServer , FTP server address (optional port ':portNumber').
    * @param user , Optional user name to login.
    * @param password , Optional password for user.
    * @param fileName , Destination file name on FTP server (with optional
    *            preceding relative path, e.g. "myDir/myFile.txt").
    * @param source , Source file to upload.
    * @throws MalformedURLException, IOException on error.
    */
   public void upload( String ftpServer, String user, String password,
         String fileName, File source ) throws MalformedURLException,
         IOException
   {
      if (ftpServer != null && fileName != null && source != null)
      {
         StringBuffer sb = new StringBuffer( "ftp://" );
         // check for authentication else assume its anonymous access.
         if (user != null && password != null)
         {
            sb.append( user );
            sb.append( ':' );
            sb.append( password );
            sb.append( '@' );
         }
         sb.append( ftpServer );
         sb.append( '/' );
         sb.append( fileName );
         /*
          * type ==> a=ASCII mode, i=image (binary) mode, d= file directory
          * listing
          */
         sb.append( ";type=i" );

         BufferedInputStream bis = null;
         BufferedOutputStream bos = null;
         try
         {
            URL url = new URL( sb.toString() );
            URLConnection urlc = url.openConnection();

            bos = new BufferedOutputStream( urlc.getOutputStream() );
            bis = new BufferedInputStream( new FileInputStream( source ) );

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

   /**
    * Download a file from a FTP server. A FTP URL is generated with the
    * following syntax:
    * ftp://user:password@host:port/filePath;type=i.
    *
    * @param ftpServer , FTP server address (optional port ':portNumber').
    * @param user , Optional user name to login.
    * @param password , Optional password for user.
    * @param fileName , Name of file to download (with optional preceeding
    *            relative path, e.g. one/two/three.txt).
    * @param destination , Destination file to save.
    * @throws MalformedURLException, IOException on error.
    */
   public void download( String ftpServer, String user, String password,
         String fileName, File destination ) throws MalformedURLException,
         IOException
   {
      if (ftpServer != null && fileName != null && destination != null)
      {
         StringBuffer sb = new StringBuffer( "ftp://" );
         // check for authentication else assume its anonymous access.
         if (user != null && password != null)
         {
            sb.append( user );
            sb.append( ':' );
            sb.append( password );
            sb.append( '@' );
         }
         sb.append( ftpServer );
         sb.append( '/' );
         sb.append( fileName );
         /*
          * type ==> a=ASCII mode, i=image (binary) mode, d= file directory
          * listing
          */
         sb.append( ";type=i" );
         BufferedInputStream bis = null;
         BufferedOutputStream bos = null;
         try
         {
            URL url = new URL( sb.toString() );
            URLConnection urlc = url.openConnection();

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

            int i;
            while ((i = bis.read()) != -1)
            {
               bos.write( i );
            }
         }
         finally
         {
            if (bis != null)
               try
               {
                  bis.close();
               }
               catch (IOException ioe)
               {
                  ioe.printStackTrace();
               }
            if (bos != null)
               try
               {
                  bos.close();
               }
               catch (IOException ioe)
               {
                  ioe.printStackTrace();
               }
         }
      }
      else
      {
         System.out.println( "Input not available" );
      }
   }
}
                            
                       

Bài viết cùng danh mục

Bóng mát tâm hồn: Đừng ích kỷ
Chia sẻ Đừng ích kỷ, đôi khi chính sự ích kỷ sẽ dẫn chúng ta từ hết sai lầm này đến sai lầm khác. Hãy lắng nghe âm thanh cuộc sống. Cuộc sống của ta sẽ không xấu, mà thậm chí nó còn đẹp hơn khi chúng ta cho đi. Bởi… Cho đi chính là nhận lại.
Tâm an vạn sự an
Chia sẻ Có rất nhiều bài viết, thông tin về kỹ năng sống, kinh nghiệm để có thể cân bằng cuộc sống, bài viết này sưu tầm những câu nói nổi tiếng của thiền sư Thích Nhất Hạnh, giúp cho chúng ta tâm an - vạn sự an. Chỉ khi tâm hồn chúng ta cảm thấy bình an thì mọi việc mới có thể diễn ra thuận lợi.
Bài 14- Sử dụng chức năng Âm thanh trong Scratch
Chia sẻ Trong các dự án về thiết kế Game có một yêu cầu hết sức quan trọng để tạo nên sự phấn khích cho người chơi đó là Âm thanh (Sound). Scratch cung cấp chức năng xử lý âm thanh giúp chúng ta dễ dàng tích hợp các file âm thanh trong mỗi kịch bản. Để sử dụng âm thanh trong các dự án, chúng ta có thể nhập khẩu từ thư viện, tải lên từ máy tính hoặc sử dụng trực tiếp công cụ ghi âm.
Bài 13- Các thao tác xử lý kịch bản trong Scratch
Chia sẻ Có các thao tác xử lý kịch bản trong Scratch như :
Bài 12- Tìm hiểu khái niệm Kịch bản trong Scratch
Chia sẻ Một kịch bản (Script) trong chương trình Scratch được xác định là một tập hợp các khối lệnh liên kết với nhau theo một trật tự nhất định, có khả năng điều khiển đối tượng trên sân khấu và có khối lệnh sự kiện đứng trên đầu.