学了这么久Java编程,头一回特么地用它干了件正事~~
学院机房计算机IP地址采取静态IP-MAC绑定,这样做可以方便的管理网络资源,以及局域网内计算机对互联网访问权限的控制。
但是,麻烦的事情在于机房的计算机个数实在不是个小数,我们通过网络嗅探器收集到的MAC地址、IP地址、计算机名等等信息并不是能够直接使用的配置数据。例如:
这是我们收集到的数据样式:
……
B8:AC:6F:4A:93:1E=33G04|192.168.3.70
B8:AC:6F:48:CE:3B=33G05|192.168.3.71
B8:AC:6F:4A:96:D8=33G06|192.168.3.72
……
而我们需要的样式是这样的:
(配置到路由器里获得上网权限)
192.168.3.70 B8:AC:6F:4A:93:1E
192.168.3.71 B8:AC:6F:48:CE:3B
192.168.3.72 B8:AC:6F:4A:96:D8
或者是这样的样式:
(写入到ModiIP的配置文件MAC.ini中,实现自动更改计算机名称、IP地址、子网掩码等信息)
4487FC42F15E=192.168.4.63,34F10
4487FC42E909=192.168.4.64,34F11
4487FC42E711=192.168.4.65,34F12
这就需要我们进行数据样式的更改。如果这些数据仅仅只有几十条我们可以手工一条条更改,但是如果是有上百条的话就有些困难了。我以前曾重新收集过我所负责机房的IP-MAC信息,通过手工更改完后,可以说两只手都快废了。确实是件很痛苦的事情。
不过想想自己学习编程也有一段时间了,于是就尝试着用Java代码解决这些数据格式的问题。还好,学了这么久编程,今天头一回特么地用它干了件正事。
系统源代码:
今天贴出来,目的是能够得到大家更好的建议。我知道,这只是最基本的Java代码,而且我一定会继续努力的,我非常喜欢Java,我会好好学习的。谢谢批评指正~~
但是,麻烦的事情在于机房的计算机个数实在不是个小数,我们通过网络嗅探器收集到的MAC地址、IP地址、计算机名等等信息并不是能够直接使用的配置数据。例如:
这是我们收集到的数据样式:
……
B8:AC:6F:4A:93:1E=33G04|192.168.3.70
B8:AC:6F:48:CE:3B=33G05|192.168.3.71
B8:AC:6F:4A:96:D8=33G06|192.168.3.72
……
而我们需要的样式是这样的:
(配置到路由器里获得上网权限)
192.168.3.70 B8:AC:6F:4A:93:1E
192.168.3.71 B8:AC:6F:48:CE:3B
192.168.3.72 B8:AC:6F:4A:96:D8
或者是这样的样式:
(写入到ModiIP的配置文件MAC.ini中,实现自动更改计算机名称、IP地址、子网掩码等信息)
4487FC42F15E=192.168.4.63,34F10
4487FC42E909=192.168.4.64,34F11
4487FC42E711=192.168.4.65,34F12
这就需要我们进行数据样式的更改。如果这些数据仅仅只有几十条我们可以手工一条条更改,但是如果是有上百条的话就有些困难了。我以前曾重新收集过我所负责机房的IP-MAC信息,通过手工更改完后,可以说两只手都快废了。确实是件很痛苦的事情。
不过想想自己学习编程也有一段时间了,于是就尝试着用Java代码解决这些数据格式的问题。还好,学了这么久编程,今天头一回特么地用它干了件正事。
系统源代码:
package org.woniu;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class ChangeModel {
public static void main(String[] args) throws Exception {
File file1 = new File("f:" + File.separator + "mac.txt");// 待读取数据源文件
File file2 = new File("f:" + File.separator + "ip.txt");// 待写入的数据文件
FileReader fr = new FileReader(file1);
FileWriter fw = new FileWriter(file2);
BufferedReader in = new BufferedReader(fr);
BufferedWriter out = new BufferedWriter(fw);
String str;
int m = 0;// 数据计数器
while ((str = in.readLine()) != null) {
// 对字符串进行截取,并存入数组
String[] s = str.split("=");
String[] s1 = s[1].split("\\|");
// 将数组内的值写入文件
out.write(s1[1] + " ");
out.write(s[0]);
out.newLine();
out.flush();
// 控制台同步打印数据
System.out.print(s1[1] + " ");
System.out.println(s[0]);
m++;
}
System.out.println("系统一共处理的数据行数是:" + m);
fr.close();
in.close();
fw.close();
out.close();
}
}
今天贴出来,目的是能够得到大家更好的建议。我知道,这只是最基本的Java代码,而且我一定会继续努力的,我非常喜欢Java,我会好好学习的。谢谢批评指正~~
...全文
相关推荐
java贪吃蛇源代码 带详细注释的撒~~
java 贪吃蛇源代码 带详细注释的撒~~写了一个多星期~~规则: 1,方向键或WASD控制方向; 2,F11、F12或Z、X键可以加减速度; 3,Enter键暂停、开始; 4
Java编程基础课件
Java编程基础是编程学习的重要部分,它为程序员进入软件开发领域提供了坚实的基石。在这个Java编程基础课件中,我们将会探讨一系列关键知识点,包括Java语言的起源、特性、环境搭建,以及基本语法元素。
轻松学JAVA编程(源码)
【标题】"轻松学JAVA编程(源码)"所涵盖的知识点主要集中在Java编程语言的基础概念、语法结构以及实际应用上。
从零开始学Java编程
本教程“从零开始学Java编程”旨在为初学者提供全面、深入的Java学习指南,无论你是否具有编程背景,都能逐步掌握Java的核心概念和技术。1.
java学习之路,教你怎样学编程
"java学习之路,教你怎样学编程"在学习Java编程的过程中,首先需要明确的是,没有捷径可走,扎实的基础和持续的努力是成功的关键。"不走弯路,就是捷径",这句话适用于任何技能的学习,包括编程。下


Java SE
