title: Formatting MAC address byte array to String
body: <p>I am using this code to find the MAC address of a machine. This code prints directly the MAC address, but I want to return it as a string. I am completely confused.</p>
  
  <p>please help.</p>
  
  <pre><code>try {
  
      InetAddress add = InetAddress.getByName("10.123.96.102");
      NetworkInterface ni1 = NetworkInterface.getByInetAddress(add);
      if (ni1 != null) {
          byte[] mac1 = ni1.getHardwareAddress();
          if (mac1 != null) {
              for (int k = 0; k &lt; mac1.length; k++) {
                  System.out.format("%02X%s", mac1[k], (k &lt; mac1.length - 1) ? "-" : "");
              }
          } else {
              System.out.println("Address doesn't exist ");
          }
          System.out.println();
      } else {
          System.out.println("address is not found.");
      }
  } catch (UnknownHostException e) {
      e.printStackTrace();
  } catch (SocketException e) {
      e.printStackTrace();
  }
  </code></pre>