编译出错??

xfounder 2002-05-09 03:06:04
import java.io.*;

class filestream
{
public static void main(String args[])
{
try
{
File inFile=new File("file1.txt");
File outFile=new File("file2.txt");
FileInputStream fis=new FileInputStream(inFile);
FileOutputStream fos=new FileOutputStream(outFile);

int c;
while((c=fis.read()!=-1)
fos.write(c);
fis.close();
fos.close();
}
catch(FileNotFoundException e)
{
System.out.println("FileStreamTest:"+e);
}
catch(IOException e)
{
System.err.println("FileStreamsTest:"+e);
}
}
}

报错如下:(jcreator编译的 )
--------------------Configuration: JDK version 1.3.1 <Default>--------------------
J:\pku\char6\filestream.java:15: ')' expected
while((c=fis.read()!=-1)
^
J:\pku\char6\filestream.java:15: incompatible types
found : int
required: boolean
while((c=fis.read()!=-1)
^
2 errors

Process completed.


...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xfounder 2002-05-09
  • 打赏
  • 举报
回复
搞定,不过你说的还有点问题,第一个参数应该为文件名,不是outFile

Apocalypse 2002-05-09
  • 打赏
  • 举报
回复
好像FileOutputStream fos=new FileOutputStream(outFile, true)就可以了
boolean指示是否采用append即追加模式
xfounder 2002-05-09
  • 打赏
  • 举报
回复
谢谢,
现在还有个问题,我想把file1中的内容复制到file2里,但不覆盖file2中的原来的内容,即接着原来file2的内容继续copy,这个如何实现?
dylanwolf 2002-05-09
  • 打赏
  • 举报
回复
加括号就可以了

否则 c 是 int , fis.read()!=-1 是 boolean, 赋值类型不匹配.
zwhhwz 2002-05-09
  • 打赏
  • 举报
回复
把 while((c=fis.read()!=-1)
改为while((c=fis.read())!=-1)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧