url_ftp.java

来自「刘艺编著的java教程的课本习题加例题代码 很有用哦!」· Java 代码 · 共 85 行

JAVA
85
字号
import java.io.*;
import java.net.*;
public class URL_FTP{

  static public void main(String args[]){
  
    byte data=0;
    URL obj1;
    File obj2;
    DataInputStream inf=null;
    FileOutputStream outf=null;
    if(args.length!=2){
    
        System.out.println("Download file!");
        System.out.println("Usage:java URL_FTP file file2");
        return;
    }
    try{
    
      //根据参数args[0]构造一个绝对的URL对象
      obj1=new URL(args[0]);
    }
    catch(MalformedURLException e){
    
      System.out.println("Open URL"+args[0]+"Error");
      return;
    }
    //根据参数args[1]构造一个File实体对象(文件)
    obj2=new File(args[1]);
    //显示输入文件的有关描述
    System.out.println("Input File Description:");
    System.out.println("\tProtocol:"+obj1.getProtocol());
    System.out.println("\tHost    :"+obj1.getHost());
    System.out.println("\tPort    :"+obj1.getPort());
    System.out.println("\tFile    :"+obj1.getFile());
    System.out.println("\ttoString:"+obj1.toString());
      //得到输入文件的文件名字
    String s=obj2.getName();
    System.out.println(s);
    try{
      //用URL类的对象obj1创建一个输入流inf
      inf=new DataInputStream(obj1.openStream());
    }
    catch(FileNotFoundException e){
      System.out.println("file not found!");
    }
    catch(IOException e){
      System.out.println("io error");
    }
    try{
      //用File的对象obj2创建文件输出流outf
      outf=new FileOutputStream(obj2);
    }
    catch(FileNotFoundException e){
      System.out.println("file2 not found!");
    }
    catch(IOException e){
      System.out.println("Open Data Stream Error");
      return;
    }
    try{
      do{
        //由输入流inf读取数据到data变量
        data=(byte)inf.readByte();
        //输出data变量到文件
        outf.write(data);
        //循环直至将输入数据全部输完为止 
      }while(true);
    }
    catch(EOFException e) {
      //一旦输出了所有的数据,提示文件已下载完毕
      System.out.println("File Download Complete");
    }
    catch(IOException e){
      System.out.println("File Download Error");
      return;
    }
    try{
     //关闭输入流
     inf.close();
    }
    catch(IOException e){}
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?