黑马程序员技术交流社区
标题:
疑惑??? 哪位帮我看看是怎么回事
[打印本页]
作者:
坚持不懈
时间:
2012-12-18 20:17
标题:
疑惑??? 哪位帮我看看是怎么回事
import java.io.*;
class Demo
{
public static void main(String[] args)throws Exception
{
if(args.length!=2)
{
System.out.println("语法命令不正确");
System.exit(1);
}
File file1=new File(args[0]);
if(file1.exists())//如果原文件存在
{
File file2=new File(args[1]);
InputStream input=new FileInputStream(file1);
OutputStream output=new FileOutputStream(file2);
int temp=0;
while((temp=input.read())!=0)
{
output.write(temp);
}
input.close();
output.close();
System.out.println("文件拷贝完成");
}
}
}
复制代码
编译 直接提示语法命令不正确. 以下代码没有被执行?
作者:
黑马黄涛
时间:
2012-12-18 20:56
while((temp=input.read())!=
-1
)
{
output.write(temp);
}
作者:
黑马黄涛
时间:
2012-12-18 20:58
查看帮助文档咱们可以看到:
public int read()
throws IOException
如果已到达文件末尾,则返回 -1。
所以刚刚你的程序肯定是个死循环的...因为他永远不可能等于0对不...
作者:
王中利
时间:
2012-12-18 21:20
package day11;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class Demo {
public static void main(String[] args)throws Exception
{
if(args.length!=2)
{
System.out.println("语法命令不正确");
// System.exit(1);
// return;//这里 这两条语句没有什么影响,用哪个都没关系
}
File file1=new File(args[0]);//这里的参数是自己输入进去的,必须是文件的路径名,必须存在文件名
System.out.println(file1.getName());//这是我自己加上的,
if(file1.exists())//如果原文件存在
{
File file2=new File(args[1]);
System.out.println(file2.getName());
InputStream input=new FileInputStream(args[0]);
OutputStream output=new FileOutputStream(args[1]);
int temp=0;
while((temp=input.read())!=-1)
{
output.write(temp);
output.flush();
}
input.close();
output.close();
System.out.println("文件拷贝完成");
}
}
}
D:\myeclipseworkplace\workplace\day1\src\day11\1.txt D:\myeclipseworkplace\workplace\day1\src\day11\2.txt这是我输入的参数,运行很好,结果是
1.txt
2.txt
文件拷贝完成
文件必须是存在的,如果没有存在,会报异常,而你又把异常抛出去了
作者:
王中利
时间:
2012-12-18 21:31
还要判断一下文件是不是存在,可以调用file.creatNewFile()方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2