java定义IP地址形式输入的规则
2012-02-10 10:53
337 查看
以下的源码来出自《JAVA核心编程I:基本知识(原书第7版)》
import java.text.ParseException; /** * A formatter for 4-byte IP addresses of the form a.b.c.d * */ public class IPAddressFormatter extends DefaultFormatter { @Override public String valueToString(Object value) throws ParseException { if (!(value instanceof byte[])) throw new ParseException("Not a byte[]", 0); byte[] a = (byte[]) value; if (a.length != 4) throw new ParseException("Length != 4", 0); StringBuilder builder = new StringBuilder(); for (int i = 0; i < 4; i++) { int b = a[i]; if (b < 0) b += 256; builder.append(String.valueOf(b)); if (i < 3) builder.append("."); } return builder.toString(); } @Override public Object stringToValue(String text) throws ParseException { StringTokenizer tokenizer = new StringTokenizer(text, ".") ; byte[] a = new byte[4] ; for(int i=0; i<4 ;i++){ int b = 0 ; if(!tokenizer.hasMoreTokens()) throw new ParseException("Too few bytes", 0) ; try{ b = Integer.parseInt(tokenizer.nextToken()) ; }catch (NumberFormatException e){ throw new ParseException("Not an integer", 0) ; } if(b<0 || b>=256) throw new ParseException("Byte out of range", 0) ; a[i] = (byte) b ; } if(tokenizer.hasMoreTokens()) throw new ParseException("Too many bytes", 0 ) ; return a ; } }
相关文章推荐
- java定义IP地址形式输入的规则
- java中变量的定义以及命名规则
- java 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
- 【java】java获取ip地址(读取QQWry.dat文件形式)
- Java程序练习:设计用户输入界面,获取网址采集规则
- 【java】 java获取IP地址(淘宝IP库接口形式)
- java 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
- 处理ip,java判断ip是否在指定的ip段范围内,给定的ip地址是否在某个ip段范围内,将字符串形式IP地址转换long类型
- shell脚本函数判断输入的IP地址是否符合规则
- Java_语法基础_标识符定义规则
- 剑指offer中,求输入整数的二进制形式中1的个数(Java代码)
- java 匿名类(不能被忽略 (new+接口)是定义匿名类的一个形式)(转)
- Java中类定义中成员变量的两种形式的区域
- java实现输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
- java常用的输入形式
- 1.java.io包中定义了多个流类型来实现输入和输出功能,
- 输入数字,定义运算规则:(0为加 1为减 2为乘 3为除"),输出结果
- java study 09day--静态内部类及内部类定义规则
- java 正则为空字符串或符合定义规则
- Java中接口中的方法定义规则