java InetAddress 클래스를 이용하여 ip 주소값 출력하려고 하는데 하나가 아닌 여러개의 url의 ip값을 출력하려면 어떻게 해야하나요
조회수 6175회
package getParser.java;
import java.net.*;
class InetAddressTest{
public static void main(String[] args){
InetAddress addr = null;
InetAddress[] addrArr = null;
String name = "www.naver.com";
addr = InetAddress.getByName(name);
System.out.println("도메인명 : "+addr.getHostName());
System.out.println("IP주소 : "+addr.getHostAddress());
System.out.println();
addrArr = InetAddress.getAllByName(name);
for(int i =0; i < addrArr.length;i++){
System.out.println("IP 목록["+i+"] : " + addrArr[i]);
}
System.out.println();
addr = InetAddress.getLocalHost();
System.out.println("로컬 호스트 도메인명 :" +addr.getHostName());
System.out.println("로컬 호스트 IP 주소 :" +addr.getHostAddress());
System.out.println();
} catch(UnknownHostException e){
e.printStackTrace();
}
}
}
출력결과가 이렇게 뜨는데 여기서 질문이 있어요! 현재 네이버 url주소만 검색하여 ip를 출력했는데 다른 url 몇백개의 ip주소를 한번에 출력하려면 어떻게 해야하나요 txt에 url을 저장해서 출력하게 하는 방법이면 더 좋겠습니다ㅠㅠ 정말 java 초보라서 소스코드도 함께 첨부해주시면 감사하겠습니다!
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
우선 여러 url 을 저장할 배열이 있어야겠죠.
그리고 지금의 방법을 배열의 갯수만큼 반복하면 됩니다.
String[] names = {"www.naver.com", "www.daum.net"}; //1차 반복 for (String url : names) { addr = InetAddress.getByName(url); System.out.println("도메인명 : " + addr.getHostName()); System.out.println("IP주소 : " + addr.getHostAddress()); System.out.println(); addrArr = InetAddress.getAllByName(url); //2차 반복 for (int i = 0; i < addrArr.length; i++) { System.out.println("IP 목록[" + i + "] : " + addrArr[i]); } }
파일 저장 방법은 여기를 참고하세요.
댓글 입력