关于JAVA文件复制的方法

importjava.io.*;publicclassxiancheng{publicstaticvoidmain(String[]args)throwsIOExcept... import java.io.*;
public class xiancheng
{
public static void main(String[] args) throws IOException
{
int i;
File f2=new File("C:/Users/Administrator/Desktop/new.txt");
FileInputStream fin=new FileInputStream("C:/Users/Administrator/Desktop/text.txt");
if(!f2.exists())
f2.createNewFile();
FileOutputStream fount=new FileOutputStream(f2);
while((i=fin.read())!=-1);
fount.write(i);
System.out.print("复制成功");
}
}
编译器显示我编译成功了 ,但是text文件的内容没有被复制到new文件里~~
另外问一句:while((i=fin.read())!=-1); 是什么意思,为什么要等于-1啊?
展开
 我来答
爱是的地方
2015-03-17 · 超过12用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:20.6万
展开全部
没有复制成功应该是你没有刷新,flush然后close。后面的等于-1的时候代表文件读完了。没有读到东西fin.read()就是-1;
风吹峰动峰不动
推荐于2016-10-14 · TA获得超过133个赞
知道答主
回答量:34
采纳率:0%
帮助的人:12.3万
展开全部
给你个我的程序你参考一下吧
import java.io.*;

public class Test{
public static void main(String args[]){
try{
//创建文件输入流
FileReader fr=new FileReader("D:/test/zepc.txt");
BufferedReader br=new BufferedReader(fr);
File f=new File("c:/mydoc003.txt");
PrintWriter pw=new PrintWriter(f);
//通过循环读数据并显示
String s;
while((s=br.readLine())!=null){
pw.println(s);
}
br.close();
fr.close();
pw.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
还有while((i=fin.read())!=-1);是因为i是int整形数,判断读取完毕就返回-1

while((s=br.readLine())!=null){是因为s是String字符,判断读取完毕返回null
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式