java InetAddress 클래스를 이용하여 ip 주소값 출력하려고 하는데 하나가 아닌 여러개의 url의 ip값을 출력하려면 어떻게 해야하나요

조회수 6148회
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]);
        }
    }
    

    파일 저장 방법은 여기를 참고하세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)