2013-04-05 27 views
13

Mã java của tôi là dưới đây.Tôi đã viết url = URL (s); nhưng nó không phải là true.I muốn thực hiện một hoạt động đúc để chuyển đổi một chuỗi được lấy từ người sử dụng, một URL.How Tôi có thể làm điều này hoạt động? Có phương pháp để làm điều này?Làm thế nào để đưa một chuỗi vào một URL trong java?

public static void main(String[] args) { 
    System.out.println("Welcome to Download Manager"); 
    URL url; 
    String s; 
    Scanner scan= new Scanner(System.in); 
    s=scan.nextLine(); 
    url=URL(s); 
    Download download=new Download(url); 
} 
+2

Bạn không truyền. Bạn sử dụng nó để tạo một URL mới. –

+0

url của người dùng = (các) URL mới; thay vì – Anton

+0

@SotiriosDelimanolis Tôi làm cách nào để lấy URL từ người dùng? – ntf

Trả lời

3

bạn cần phải thay đổi nó để url= new URL(s);

26

Bạn không thể cast String để URL, vì chuỗi không phải là một lớp con của URL. Bạn có thể tạo thể hiện URL mới, chuyển String làm đối số cho hàm tạo. Trong Java, bạn luôn invoke constructor sử dụng từ khóa mới:

URL url = new URL(string); 
5

Sử dụng các constructor URL

public static void main(String[] args) { 
     System.out.println("Welcome to Download Manager"); 
     URL url; 
     String s; 
     Scanner scan= new Scanner(System.in); 
     s=scan.nextLine(); 
     url= new URL(s); 
     Download download=new Download(url); 
    } 
2

Trước tiên, bạn nên chuyển đổi chuỗi của bạn để URI sau đó chuyển đổi URI để URL. Ví dụ:

String str = "http://google.com" 
    URI uri = new URI(str); 
    URL url = uri.toURL(); 

Ngoài ra còn có 2 trường hợp ngoại lệ chưa được xử lý; vì vậy bạn nên bọc mã trên với 2 try/catch.

Các vấn đề liên quan