读取文本文件内容的碰到问题--如何合并顺序的数字
时间:2008-07-18 05:14:01
来源:论坛整理 作者: 编辑:chinaitzhe
File[] tempFile=file.listFiles();//读取120文件
for(int i =0;i <tempFile.length;i )
{
try
{
if(tempFile[i].isFile())
{
FileReader fr=new FileReader("c:\\" tempFile[i].getName());
BufferedReader br=new BufferedReader(fr);
try
{
while(br.ready())
{
String line=br.readLine();
String[] line1=line.split("\t");
String first=line1[0];
String end=line1[1];
long firstip=Long.parseLong(first);
long endip=Long.parseLong(end); System.out.println(first "\t" end);
}
} finally
{
System.out.println("OK");
}
}
}//try
catch(IOException e)
{
System.out.println("error");
}
}
上面程序是读取文本文件的
文本的内容是:
3652113248 3652113263
3652113264 3652113279
3652113280 3652113407
3652113664 3652114175
程序运行的结果是:
3652113248 3652113263
3652113264 3652113279
3652113280 3652113407
3652113664 3652114175
OK
问题是:前三行的数字是连接在一起的,如何直接输出这样的结果:
3652113248 3652113407
3652113664 3652114175
万分感激
网友回复:此回复为自动发出,仅用于显示而已,并无任何其他非凡作用
楼主【cnhuai】截止到2008-07-17 11:12:26的历史汇总数据(不包括此帖):
发帖的总数量:53 发帖的总分数:858 每贴平均分数:16
回帖的总数量:39 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:51 结贴的总分数:818
无满足结贴数:11 无满足结贴分:220
未结的帖子数:2 未结的总分数:40
结贴的百分比:96.23 % 结分的百分比:95.34 %
无满足结贴率:21.57 % 无满足结分率:26.89 %
值得尊敬网友回复:完全不晓得你说啥子
网友回复:已经说的很清楚了
3652113248 3652113263
3652113264 3652113279
3652113280 3652113407
前三排 数字是首尾相接的
就直接输出
3652113248 3652113407 即可
网友回复:我承认我理解能力有限。。能不能在说的具体点
网友回复:我再仔细说下吧
文本文件中的
3652113248 3652113263
3652113264 3652113279
3652113280 3652113407
代表意思是
3652113248到3652113263之间所有数字
3652113264到3652113279之间所有数字
3652113280到3652113407之间所有数字
3652113664到3652114175之间所有数字
而前三排是连续的
所以想在读取文本文件的时候
同时合并一些连续的:
3652113248 3652113407
网友回复:大家来帮忙啊 还有不清楚的吗
网友回复:意思清楚了,你的意思就是说去掉一段连续数字中的中间部分,只输出两头对吗?
网友回复:to:hmsuccess
是的 把该合并的合并了
网友回复:通过楼上的讲述,我懂了……
我觉得,想学好一种语言,还是先学好 local language
网友回复:
网友回复:这样,你把读入的每个值,转换为long型的,然后进行比较,连续的就跳过,
网友回复:
- Java code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Test3 { public static void main(String[] args) { BufferedReader br = null; try { br = new BufferedReader(new FileReader("aa.txt")); long n = Long.MIN_VALUE; for(String line = null; (line = br.readLine()) != null; ) { String[] str = line.split("\\s "); long a = Long.parseLong(str[0]); long b = Long.parseLong(str[1]); if(n 1 != a) { if(n != Long.MIN_VALUE) { System.out.println(" " n); } System.out.print(a); } n = b; } System.out.println(" " n); } catch (IOException e) { e.printStackTrace(); } finally { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } }
网友回复:try
{
long lastEnd = 0;
while(br.ready())
{
String line=br.readLine();
String[] line1=line.split("\t");
String first=line1[0];
String end=line1[1];
long firstip=Long.parseLong(first);
long endip=Long.parseLong(end);
if(first != (lastEnd 1)){
System.out.println("\t" lastEnd);
System.out.print(first);
lastEnd = endip; }
else{
lastEnd =endip;
}
}
System.out.println("\t" lastEnd);
就是这个意思,会多个零。抛砖引玉了
关键字:读取,文本文件,内容,碰到问题,合并,顺序,
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面