100分求把一段c#代码翻译成java代码,该如何处理

100分求把一段c#代码翻译成java代码
public   IPAddress   GetIP()
{
        WebClient   client   =   new   WebClient();
        byte[]   bytRecv   =   client.DownloadData( "http://www.ip138.com/ ");   //下載數據
        string   str   =   System.Text.Encoding.GetEncoding( "gb2312 ").GetString(bytRecv);
        string   r   =   @ "(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])) ";
        string   ip   =   Regex.Match(str,   r).ToString();         //提取信息
        return   IPAddress.Parse(ip);
}


------解决方案--------------------
我也只是学这个的,java 就不行了
------解决方案--------------------
WebClinet这个是C#特有的,
后面的就和JAVA类似了,,,
------解决方案--------------------
URL url = new URL(url1);
URLConnection conn = url.openConnection();
BufferedInputStream in = new BufferedInputStream(conn.getInputStream());
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while (true) {
int i = inputStream.read();
if (i == -1) {
break;
}
bos.write(i);
}
String str = bos.toString( "gb2312 ");
bos.close();
in.close();

String regex = "^(((\\d{1,2})|(1\\d{2})|(2[0-4]\\d)|(25[0-5]))\\.){3}((\\d{1,2})|(1\\d{2})|(2[0-4]\\d)|(25[0-5]))$ ";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
if(m1.find()){
String ipStr = m1.group();
}
....