2012-06-18 42 views
7

Tôi có tệp html được lưu trữ trên máy chủ. Tôi có đường dẫn URL giống như sau: <https://localhost:9443/genesis/Receipt/Receipt.html >cách tải nội dung html url vào chuỗi trong java

Tôi muốn đọc nội dung của tệp html này chứa thẻ, từ url tức là mã nguồn của tệp html.

Tôi phải làm như thế nào? Đây là một mã phía máy chủ và không thể có một đối tượng trình duyệt và tôi không chắc chắn bằng cách sử dụng một URLConnection sẽ là một lựa chọn tốt.

Giải pháp tốt nhất hiện nay là gì?

+0

'Nội dung chuỗi = org.apache.commons.io.IOUtils.toString (url mới (" https: // localhost: 9443/genesis/Receipt/Receipt.html ")," utf8 ");' –

Trả lời

2

giải quyết nó bằng cách sử mùa xuân thêm đậu vào file mùa xuân cấu hình

<bean id = "receiptTemplate" class="org.springframework.core.io.ClassPathResource"> 
    <constructor-arg value="/WEB-INF/Receipt/Receipt.html"></constructor-arg> 
    </bean> 

sau đó đọc nó theo phương pháp của tôi

 // read the file into a resource 
     ClassPathResource fileResource = 
      (ClassPathResource)context.getApplicationContext().getBean("receiptTemplate"); 
     BufferedReader br = new BufferedReader(new FileReader(fileResource.getFile())); 
     String line; 
     StringBuffer sb = 
      new StringBuffer(); 

     // read contents line by line and store in the string 
     while ((line = 
      br.readLine()) != null) { 
      sb.append(line); 
     } 
     br.close(); 
     return sb.toString(); 
0

Đối dụ:

 URL url = new URL("https://localhost:9443/genesis/Receipt/Receipt.html"); 
     URLConnection con = url.openConnection(); 
     BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); 
     String l; 
     while ((l=in.readLine())!=null) { 
      System.out.println(l); 
     } 

Bạn có thể sử dụng inputstream theo những cách khác, không chỉ là in nó.

Tất nhiên nếu bạn có đường dẫn đến tập tin địa phương, bạn cũng có thể làm

InputStream in = new FileInputStream(new File(yourPath)); 
+0

là mã phía máy chủ và tôi đã không sử dụng URLConnection. Không chắc chắn nếu nó sẽ là một cách tiếp cận tốt. Bạn nghĩ gì? –

+0

Đây không phải là mã phía máy chủ, tại sao bạn không kiềm chế sử dụng URLConnection? –

+1

Nếu bạn biết các tệp của mình ở đâu, bạn cũng có thể sử dụng 'FileInputStream' (xem câu trả lời mở rộng). –

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

//... 

URL url = new URL("https://localhost:9443/genesis/Receipt/Receipt.html"); 
url.openConnection(); 
InputStream reader = url.openStream(); 
8
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.net.MalformedURLException; 
import java.net.URL; 
import java.net.URLConnection; 

public class URLConetent{ 
    public static void main(String[] args) { 

     URL url; 

     try { 
      // get URL content 

      String a="http://localhost:8080//TestWeb/index.jsp"; 
      url = new URL(a); 
      URLConnection conn = url.openConnection(); 

      // open the stream and put it into BufferedReader 
      BufferedReader br = new BufferedReader(
           new InputStreamReader(conn.getInputStream())); 

      String inputLine; 
      while ((inputLine = br.readLine()) != null) { 
        System.out.println(inputLine); 
      } 
      br.close(); 

      System.out.println("Done"); 

     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 
} 
+0

làm thế nào về trên url trang web từ xa? Sự cố thực sự trên vị trí tập lệnh – NPE

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