2012-06-18 6 views
7

서버에 html 파일이 저장되어 있습니다. 다음과 같은 URL 경로가 있습니다. <https://localhost:9443/genesis/Receipt/Receipt.html >URL 문자열을 자바 문자열로 가져 오는 방법

url 즉 HTML 파일의 소스 코드에서 태그를 포함 할이 html 파일의 내용을 읽고 싶습니다.

어떻게하면됩니까? 이것은 서버 측 코드이며 브라우저 객체를 가질 수 없으며 URLConnection을 사용하는 것이 좋은 옵션인지 잘 모르겠습니다.

지금 가장 좋은 해결책은 무엇입니까? exemple 들어

+0

'String content = org.apache.commons.io.IOUtils.toString (새 URL ("https : // localhost : 9443/genesis/Receipt/Receipt.html"), "utf8"); ' –

답변

2

그것이 스프링 설정 파일

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

에 빈을 추가 봄 사용하여 해결 할 수있는 그런 다음 내 방법으로 읽으십시오.

 // 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

: 당신은 단지 그것을 인쇄하지, 다른 방법으로의 InputStream을 사용할 수

 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); 
     } 

.

물론

로컬 파일의 경로가있는 경우, 당신은 또한

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

this 서버 측 코드이며 URLConnection 사용을 자제하고 있습니다. 좋은 접근 방법이 될지 확실하지 않습니다. 너는 무엇을 생각하니? –

+0

이것은 서버 측 코드가 아니므로 URLConnection을 사용하지 않으시겠습니까? –

+1

파일이 로컬에서 어디에 있는지 알고 있다면'FileInputStream'을 사용할 수도 있습니다 (확장 된 답변 참조). –

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

어떨까요 원격 사이트 URL에? 스크립트 위치에 실제로 문제가 있음 – NPE

관련 문제