import java.io.*;public class TestEightTwo {
public static void main(String[] args) {
String newString="" ;
String newString1="";
StringBuffer strBuffer =new StringBuffer();
StringBuilder strBulider = new StringBuilder();
try {
File newFile = new File("a.txt");
FileReader fr = new FileReader(newFile);
BufferedReader br = new BufferedReader(fr);
File file = new File("b.txt");
FileWriter fw = new FileWriter(file);
PrintWriter pw = new PrintWriter(fw);
String data = ""; while ((data = br.readLine())!= null) {
//data = br.readLine();
String data1 = data.replaceAll("(\\d) +", "$1,");
//String[] str=data.split("^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])){3}$");
//String[] str=data.split("^(((\\d{1,2})|(1\\d{2})|(2[0-4]\\d)|(25[0-5]))(\\.|,)){1,3}((\\d{1,2})|(1\\d{2})|(2[0-4]\\d)|(25[0-5]))$");
String[] str= data1.split(",");
String[] str1=str[0].split("\\.");
String[] str2=str[1].split("\\.");
for(int i=0;i<str1.length;i++){
switch (str1[i].length()){
case 1:{
str1[i]="00"+str1[i];break;
}
case 2: {
str1[i]="0"+str1[i];break;
}
}
strBulider.append(str1[i]);
}
//for(int j=0;j<str.length;j++){
//newString=newString+str[j];
//}
//strBuffer.append(str1[0]).append(str1[1]).append(str1[2]).append(str1[3]);
//newString = new String(strBuffer);
//newString =newString.replaceAll("^(\\d{3})$","$1.");
System.out.println(str1);
System.out.print(strBulider);
//System.out.println(str1[2]);
for(int i=0;i<str2.length;i++){
switch (str2[i].length()){
case 1:{
str2[i]="00"+str2[i];break;
}
case 2: {
str2[i]="0"+str2[i];break;
}
}
}
//pw.println(data);
}
pw.flush();
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
} }}
a.txt 是个存储IP地址的文件有起誓IP 和截止IP 和所在地区
3个字段
想把每个IP位不满3位的都用0补满
注释的部分都实验过了
要是不把已经分割好的每IP 的IP位补0后连接成字符串
就不是死循环
不知道什么原因
public static void main(String[] args) {
String newString="" ;
String newString1="";
StringBuffer strBuffer =new StringBuffer();
StringBuilder strBulider = new StringBuilder();
try {
File newFile = new File("a.txt");
FileReader fr = new FileReader(newFile);
BufferedReader br = new BufferedReader(fr);
File file = new File("b.txt");
FileWriter fw = new FileWriter(file);
PrintWriter pw = new PrintWriter(fw);
String data = ""; while ((data = br.readLine())!= null) {
//data = br.readLine();
String data1 = data.replaceAll("(\\d) +", "$1,");
//String[] str=data.split("^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])){3}$");
//String[] str=data.split("^(((\\d{1,2})|(1\\d{2})|(2[0-4]\\d)|(25[0-5]))(\\.|,)){1,3}((\\d{1,2})|(1\\d{2})|(2[0-4]\\d)|(25[0-5]))$");
String[] str= data1.split(",");
String[] str1=str[0].split("\\.");
String[] str2=str[1].split("\\.");
for(int i=0;i<str1.length;i++){
switch (str1[i].length()){
case 1:{
str1[i]="00"+str1[i];break;
}
case 2: {
str1[i]="0"+str1[i];break;
}
}
strBulider.append(str1[i]);
}
//for(int j=0;j<str.length;j++){
//newString=newString+str[j];
//}
//strBuffer.append(str1[0]).append(str1[1]).append(str1[2]).append(str1[3]);
//newString = new String(strBuffer);
//newString =newString.replaceAll("^(\\d{3})$","$1.");
System.out.println(str1);
System.out.print(strBulider);
//System.out.println(str1[2]);
for(int i=0;i<str2.length;i++){
switch (str2[i].length()){
case 1:{
str2[i]="00"+str2[i];break;
}
case 2: {
str2[i]="0"+str2[i];break;
}
}
}
//pw.println(data);
}
pw.flush();
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
} }}
a.txt 是个存储IP地址的文件有起誓IP 和截止IP 和所在地区
3个字段
想把每个IP位不满3位的都用0补满
注释的部分都实验过了
要是不把已经分割好的每IP 的IP位补0后连接成字符串
就不是死循环
不知道什么原因
解决方案 »
- thinking in java 中的一个不理解地方,请大家多多指教
- Java的多线程是为了提高效率而设的吗
- 举一个画直线的例子
- JAVA运行出错,提示找不到驱动程序,请大家帮我看下
- 一个数据类型的小问题?
- 在“事务处理”过程中的参数应该怎样调用呢?请大家帮助!!!
- 如何在窗口间进行数据传递
- 重载带来的问题
- Java 中有没有trim函数(去掉字符串两头的空格)
- 使用JBUILDER+JAVA WSDP是否就可以写WEB SERVICE了.
- 急,有没有人能2天内帮我写个人人对战的五子棋游戏
- SQL Server2000的存储过程如果有2个以上不同的select语句在JAVA中如何得到这几个结果集?
因为String data = ""; 你这么设置的
String data = ""; //就这里改为String data = null;while ((data = br.readLine())!= null) {
文件格式是不是这样的啊:
192.168.1.1 192.168.1.50 bj
192.168.2.1 192.168.2.79 bj
.....
个人认为应该处理完一个IP 将它写入另一个文件以后 把连接字符串对象里面内容清空 再去处理下一个IP