| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 518 人关注过本帖
标题:我错在哪里呢??(关于java io)
只看楼主 加入收藏
zq1983
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-4-27
收藏
 问题点数:0 回复次数:7 
我错在哪里呢??(关于java io)

import java.io.*;
public class Test
{
public static void main(String[] args)throws IOException
{
String str,strd;
BufferedWriter wri=new BufferedWriter(new FileWriter("e:\\copy.txt"));
BufferedReader buf=new BufferedReader(new FileReader("e:\\store.txt"));
BufferedReader buf1=new BufferedReader(new InputStreamReader(System.in) );
str=buf1.readLine();
wri.write(str);
wri.flush();
while((strd=buf.readLine())!=null)
{
if(str.equals(strd=buf.readLine())==true)
{
System.out.println("ok");break;
}
else
{
System.out.println("notfind");break;
}
}
buf.close();
wri.close();

}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

我先在store.txt里写上(每个字符串都换行):
11111
22222
33333
44444
55555
程序可以编译和运行,但不是我要得功能.
我这个功能是从键盘里输入一个字符串,逐行判断这个字符串在这个store.txt文档里有没有,如果有
显示“ok”,没有就显示“notfind”。
然后我输入11111是程序告诉我“notfind”,但我输入22222是就显示“ok”,33333又不好使了。。。。
想了很长时间还是没弄懂,大家帮我改改,看怎么能实现我要的功能
搜索更多相关主题的帖子: java 
2006-12-30 21:41
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
import java.io.*;
public class Test
{
public static void main(String[] args)throws IOException
{
String str,strd;
BufferedWriter wri=new BufferedWriter(new FileWriter("e:\\copy.txt"));
BufferedReader buf=new BufferedReader(new FileReader("e:\\store.txt"));
BufferedReader buf1=new BufferedReader(new InputStreamReader(System.in) );
str=buf1.readLine();
wri.write(str);
wri.flush();
while((strd=buf.readLine())!=null)
{
if(str.equals(strd=buf.readLine())==true)//你这里多读了一句,所以你读到的是2,4,6行
{
System.out.println("ok");break;
}
else
{
System.out.println("notfind");break;
}
}
buf.close();
wri.close();

}
}

可惜不是你,陪我到最后
2006-12-30 21:44
zq1983
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-4-27
收藏
得分:0 
这句"strd=buf.readLine())==true"不是从第一行开始读吗??
2006-12-30 22:08
zq1983
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-4-27
收藏
得分:0 

应该怎么改一下呢。

2006-12-30 22:09
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
import java.io.*;
public class Test
{
public static void main(String[] args)throws IOException
{
String str,strd;
BufferedWriter wri=new BufferedWriter(new FileWriter("e:\\copy.txt"));
BufferedReader buf=new BufferedReader(new FileReader("e:\\store.txt"));
BufferedReader buf1=new BufferedReader(new InputStreamReader(System.in) );
str=buf1.readLine();
wri.write(str);
wri.flush();
while((strd=buf.readLine())!=null)//在这里你已经读到,你下面又读,当然会空掉一句,下面不读就对了
{
if(str.equals(strd)==true)//你这里多读了一句,所以你读到的是2,4,6行
{
System.out.println("ok");break;
}
else
{
System.out.println("notfind");break;
}
}
buf.close();
wri.close();

}
}

改好了

可惜不是你,陪我到最后
2006-12-30 22:19
zq1983
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-4-27
收藏
得分:0 

自己想了好长时间,十分的感谢!!!!!

2006-12-30 22:22
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
又是一个细节没有注意

以后编程要记得,细节的重要性

可惜不是你,陪我到最后
2006-12-30 22:23
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

是的..同意楼上..我就是经常没有注意了.


我的msn: myfend@
2006-12-31 09:24
快速回复:我错在哪里呢??(关于java io)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035191 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved