package com.awkj;

import java.math.BigInteger;
import java.net.InetAddress;
import java.net.UnknownHostException; public class App { private static BigInteger MIN_IP = new BigInteger("0");
private static BigInteger MAX_IP = new BigInteger("4294967295"); static String inet_ntoa(BigInteger raw) {
int minFlag = raw.compareTo(MIN_IP);
int maxFlag = raw.compareTo(MAX_IP);
if (minFlag < 0 || maxFlag > 0) {
return null;
} else {
try {
long rawLong = raw.longValue();
byte[] b = new byte[]{(byte) (rawLong >> 24),
(byte) (rawLong >> 16),
(byte) (rawLong >> 8),
(byte) rawLong};
return InetAddress.getByAddress(b).getHostAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
return null;
}
} } public static void main(String[] args) {
/*
MYSQL result:
SELECT
INET_NTOA(-1); --> NULL SELECT
INET_NTOA(0); --> 0.0.0.0 SELECT
INET_NTOA(134744072); --> 8.8.8.8 SELECT
INET_NTOA(4294967295); --> 255.255.255.255 SELECT
INET_ATON(4294967296); --> NULL
*/ System.out.println(inet_ntoa(new BigInteger("-1")));
System.out.println(inet_ntoa(new BigInteger("0")));
System.out.println(inet_ntoa(new BigInteger("134744072")));
System.out.println(inet_ntoa(new BigInteger("4294967295")));
System.out.println(inet_ntoa(new BigInteger("4294967296")));
}
}

  

java ip number to string的更多相关文章

  1. Java 学习(6):java Number & Math & String & 数组...常用类型

    目录 --- Number & Math类 --- Character 类 --- String 类 --- StringBuffer 类 --- 数组 Number & Math类: ...

  2. Java IP地址字符串与BigInteger的转换, 支持IPv6

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  3. JAVA IP地址转成长整型方法

    JAVA IP地址转成长整型方法 代码例如以下: /** * IP转成整型 * @param ip * @return */ public static Long ip2int(String ip) ...

  4. 跟着刚哥梳理java知识点——深入理解String类(九)

    一.String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Ser ...

  5. java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9A\x84...' for column 'groupName'

    java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9A\x84...' for column 'groupName' ...

  6. 基本的数据类型分析----java.lang.Number类及其子类分析

    本文转自http://blog.csdn.net/springcsc1982/article/details/8788345 感谢作者 编写了一个测试程序,如下: int a = 1000, b= 1 ...

  7. JSON parse error: Cannot deserialize value of type `java.util.Date` from String

    DateTimePicker + @DateTimeFormat("yyyy-MM-dd HH:mm:ss")日期格式转换异常 最近在做的一个项目使用的日期格式是yyyy-MM-d ...

  8. Java 性能优化之 String 篇

    原文:http://www.ibm.com/developerworks/cn/java/j-lo-optmizestring/ Java 性能优化之 String 篇 String 方法用于文本分析 ...

  9. java.lang.Class.forName(String name, boolean initialize, ClassLoader loader)方法

    描述 Java.lang.Class.forName(String name, boolean initialize, ClassLoader loader) 方法返回与给定字符串名的类或接口的Cla ...

随机推荐

  1. centos命令行系列之centos查看磁盘空间大小

    df -h 扩展: 1.查看当前文件夹所有文件大小 du -sh 2.查看指定文件下所有文件大小 du -h /data/ 3.查看指定文件大小 du -h install.log 4.查指定文件夹大 ...

  2. POJ 2352 数星星

    Stars Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 53816   Accepted: 23159 Descripti ...

  3. [LeetCode] 23. Merge k Sorted Lists ☆☆☆☆☆

    转载:https://leetcode.windliang.cc/leetCode-23-Merge-k-Sorted-Lists.html 描述 Merge k sorted linked list ...

  4. 常用java命令

    javap 反编译 javap xxx.class 查看大概 javap -v -p xxx.class 查看详细 jps 查看有哪些java进程 jinfo 查看或设置java进程的 vm 参数,只 ...

  5. moment.js 常用(几天前、相差几天、自然周、自然月)

    let pickDate = moment(this.searchForm.date); let firstDay = pickDate.day(0).format('YYYYMMDD');//上周天 ...

  6. AI的新增功能(定义图案)(描边渐变)(图像描摹)5.1

    1.定义图案:打开一个AI素材文件如图: 选择工具拖拽选择这个图案,选择“对象”“图案”“建立”完成图案的建立 此时会弹出图案选项对话框,改变拼贴类型,图案宽高,份数,不透明度,单击"完成“ ...

  7. java this的用法

    this 含义:代表当前对象 用法: 用于返回对象的引用 示例代码 public class Test { public Test f() { return this;//获取当前对象的引用 } pu ...

  8. jquery插件artTxtCount输入字数限制,并提示剩余字数

    工作中用到,需要批量处理下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...

  9. Saiku二次开发获取源代码在本地编译(五)

    关于Saiku的二次开发,在本地编译然后启动自己编译好的Saiku服务 Saiku是开源的,从github上能下载源代码,本例中的saiku源码也是从github上找的,然后自己改了一些pom.xml ...

  10. MarkDown编辑器中缩进

    首先,Markdown是不支持缩进的. 在Markdown里按下四个空格,就自动转入Code模式. 在Markdown里一个回车,不是分段而是换行,要两个回车,才是分段. 分段和换行的区别是:换行后, ...