这个java程序有什么问题

importjava.io.*;importjava.util.*;publicclassTestprintstream2{publicstaticvoidmain(St... import java.io.*;
import java.util.*;

public class Testprintstream2{
public static void main(String[] args){
String s = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
FileWriter fw = new FileWriter("f:/java/filelog.log",true);
PrintWriter log = new PrintWriter(fw);
while((s=br.readLine())!=null){
if(s.equalsIgnoreCase("exit")) break;
System.out.println(s.toUpperCase());
log.println("------");
log.println(s.toUpperCase());
log.flush();
}
log.println("=="+new Date()+"==");
log.flush();
log.close();
}catch(IOException a){
System.out.println("文件错误");
}
}
}
展开
 我来答
死后是好人
2011-09-21 · TA获得超过2638个赞
知道小有建树答主
回答量:628
采纳率:0%
帮助的人:957万
展开全部
应该是你的文件的绝对路径写错了
java里读取文件文件路径要用\\表示
应该是f:\\java\\filelog.log
修改路径后测试运行好多遍,没发现有什么问题
追问
在java里\\可以用/代替    
你在哪里运行的
ice_maru
2011-09-21 · TA获得超过154个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:261万
展开全部
FileWriter fw = new FileWriter("f:/java/filelog.log",true); //这句有错,路径
应该是
FileWriter fw = new FileWriter("f://java//filelog.log",true); //另外,要存在f:\java目录
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ymiqplgao
2011-09-21 · TA获得超过646个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:391万
展开全部
没有问题啊,好着呢,就是从控制台读数据,然后写入到文件中去。如果读到的数据是exit,则退出循环,把日期写到日志中,并且刷新流,保存所有日志信息,关闭输出流。 我是在Windows平台下试的,没有问题。如果是Linux,文件路径分隔符改成双斜杠。
追问
为什么我在命令提示符里面输入  会显示文件错误
追答
E:\ex\online>java Testprintstream2
java.io.FileNotFoundException: f:\java\filelog.log (The system cannot find the path specified)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(Unknown Source)
at java.io.FileOutputStream.(Unknown Source)
at java.io.FileWriter.(Unknown Source)
at Testprintstream2.main(Testprintstream2.java:9)
?????í?ó

。。。。
控制台下这么整,输入的内容只能放在这个String[] args数组中。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
就不能这么用了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappFyA8OKpGsamzw
2011-09-21 · TA获得超过485个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:161万
展开全部
import java.io.*;
import java.util.*;

public class Testprintstream2{
public static void main(String[] args){
String s = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
FileWriter fw = new FileWriter("f:/java/filelog.log",true);
PrintWriter log = new PrintWriter(fw);
while((s=br.readLine())!=null){
if(s.equalsIgnoreCase("exit")) break;
System.out.println(s.toUpperCase());
log.println("------");
log.println(s.toUpperCase());
log.flush();
}
log.println("=="+new Date()+"==");
log.flush();
log.close();
}catch(IOException a){
//******Found****** 加上下面这句,看看出错路径。希望有帮助
a.printStackTrace();
System.out.println("文件错误");
}
}
}

E:\ex\online>java Testprintstream2
java.io.FileNotFoundException: f:\java\filelog.log (The system cannot find the path specified)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileWriter.<init>(Unknown Source)
at Testprintstream2.main(Testprintstream2.java:9)
?????í?ó
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式