黑马程序员技术交流社区
标题:
关于IO流拷贝问题??
[打印本页]
作者:
sbeeqnui1987
时间:
2012-6-13 23:03
标题:
关于IO流拷贝问题??
本帖最后由 sbeeqnui1987 于 2012-6-19 21:46 编辑
今天看老师教程:将C盘的一个文本文件复制到D盘
思路是:从C盘读一个字符,就往D盘写一个字符
代码如下
public static void copy_1() throws IOException
{
//创建目的地
FileWriter fw = new FileWriter("RuntimeDemo_copy.txt");
//与已有文件关联.
FileReader fr = new FileReader("RuntimeDemo.java");
int ch = 0;
while((ch=fr.read())!=-1)
{
fw.write(ch);
}
fw.close();
fr.close();
}
不明白为什么C盘和D盘在代码中都没有出现,怎么知道是从哪复制到哪呢?
还有new FileWriter("RuntimeDemo_copy.txt")和FileReader fr = new FileReader("RuntimeDemo.java")怎么知道他们都是在操作哪个盘呢?
作者:
杨雪
时间:
2012-6-13 23:37
本帖最后由 杨雪 于 2012-6-13 23:49 编辑
好吧,我特地还测试了一下。
你写的这个java文件所在的目录,编译的时候,他会默认去这儿找,相当于是一个相对路径。
比如:,你现在编写的这个java文件在D:\java1\DAY 21目录下,and你现在这个RuntimeDemo.java文件存在,并且在D:\java1\DAY 21目录下(如果不存在将会抛出异常(系统找不到指定文件)),也就是你要read的文件刚好跟你现在所编写的在一个目录下哈,如果你这个RuntimeDemo.java不在这个目录,并且就算是在D:\java1下也是不行的,一样报错。
=========================================================
华丽丽的分割线:
不好意思,我重看了一遍这个问题,你说JAVA文件是在C盘的,但是写到D盘去了。。。。这个。。。。表示测试的时候,必须根目录是跟当前编写的文件是一样的,write出去的时候,如果不明确指定是另一个盘,是不会写到别的盘去的,也会是在当前的这个路径写入的。。。你那个问题应该不会存在,不过我好像也老眼昏花看到老师是那样写的(环境变量?应该不会吧,求知情人指点下)
作者:
孙峰
时间:
2012-6-14 00:08
嘿嘿,你把老毕的视频再听一下。第18天中的第13个,然后他就又说:我就拷贝我当前目录下的,明白吧?我存我也存在当前目录下去…………。 {:soso_e113:} 如果要指定哪个盘的话肯定要写,而且格式:c:\\folder\\file,记住是双斜杠
作者:
黄昆
时间:
2012-6-14 00:17
你这个应该不会出现你说的这种情况。如果你这个能拷贝成功说明"RuntimeDemo.java这个文件夹跟你运行的这个java文件在同一个文件夹下,生成的文件"RuntimeDemo_copy.txt也将在这个文件夹下而不会出现在别的地方。如果要拷贝到别的地方你必须设置要拷贝到的地方的路径。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2