作业帮 > 综合 > 作业

it is a question about java

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 21:25:16
it is a question about java
import java.io.*;
class Test
{
public static void main(String[]args) throws IOException
{
int i;
FileInputStream r;
FileOutputStream r1;
try
{
r=new FileInputStream("E:\1.txt");
}
catch(FileNotFoundException e)
{
System.out.println("1");
return;//干什么作用啊
}
try
{
r1=new FileOutputStream("E:\2.txt");
}
catch(FileNotFoundException e)
{
System.out.println("2");
return;
}
try
{
while((i=r.read())!=-1)
{
r1.write(i);
}
}
catch(IOException e)
{
System.out.println("3");//why here don't have return,this word
}
r.close();
r1.close();
}
}
why i can not achieve functional?
it is a question about java
无法实现这个功能是因为下面这句写错了
r=new FileInputStream("E:\1.txt");
括号里的文件路径的斜杠要用\\,因为\在JAVA里是转义字符.
至于那些return的作用,我先说下整体功能.
根据你在注释里的三个提问,我分三点来写:
1)首先,获取一个读入文件的路径,
如果文件不存在就会发生读取失败.程序不再往下执行,所以用了return返回,因为是在main方法中,所以程序结束.
2)如果1)通过了,那么就获取一个写入文件的路径,return作用一样.
3)文件只要被打开了,那么无论如何都要在结束的之前把它关闭,这里因为打开了文件,假若发生了异常,也就是得不到所要的结果,如果此时还是return,那么文件将没有被关闭.占用的内存不会被释放.