Java에서 시스템 MAC 주소를 얻는 방법
먼저 프로젝트, 패키지, 클래스를 생성합니다.
여기서는 자세히 설명하지 않고 코드를 직접 살펴보겠습니다.
여기서는 이 클래스의 이름을 GetMacAddr로 지정했습니다.
여기서 가장 중요한 것은 이 메서드입니다.
NetworkInterface 클래스를 통해 작동합니다.
즉, 먼저 getLocalHost() 메서드를 통해 로컬 IP를 가져온 다음
getHardwareAddress() 메서드를 호출하여 바이트 배열의 주소를 가져옵니다.
6자리 주소를 바이트 배열에 전달한 후 출력합니다.
더 이상 말도 안 되는 소리는 하지 마세요. 코드를 보세요:
private void getMACAddr()
throws SocketException, UnknownHostException {
// Get IP
NetworkInterface netInterface =
NetworkInterface.getByInetAddress(InetAddress.getLocalHost());
// Mac 주소의 바이트 배열 가져오기
byte [] macAddr = netInterface.getHardwareAddress();
System.out.print("MAC Addr:\t");
// 루프 출력
for (byte b : macAddr) {
// 여기서 toHexString()은 직접 작성한 출력 형식을 지정하는 방법입니다. 다음 단계를 참조하세요.
System.out.print(toHexString(b) + " ");
}
}
이전 단계에서 toHexString() 메소드가 있는 이유는 무엇입니까?
10진수에서 16진수로 변환할 때 단일 문자가 나타날 수 있으므로
단일 문자가 나타나면 앞에 자리 표시자를 추가합니다.
시각적 직관과 개인적인 습관을 위한 것이기도 합니다.
private static String toHexString(int 정수) {
// 얻은 int 유형 숫자를 16진수로 변환
String str = Integer .toHexString(( int) (integer & 0xff));
// 단일 문자가 나타나면 앞에 오는 0 자리 표시자가 두 개의 공백을 채웁니다.
if (str.length( ) == 1) {
str = "0" + str;
}
str을 반환;
}