import java.io.*;public class TestBufferedWriter {
public static void main (String[] args) { BufferedReader br = null;
BufferedWriter bw = null;
String s = null;
try {
br = new BufferedReader(new FileReader("d:/java/TestBufferedWriter.java"));
bw = new BufferedWriter(new FileWriter("BufferedReader.java"));//这个地方好像不能与类名相同?????
} catch(FileNotFoundException e) {
System.out.println("没有找到文件,可能文件路径不正确!");
} catch (IOException e) {
System.out.println("error!");
}
try{
while((s=br.readLine())!=null) {
System.out.println(s);
}
br.close();
} catch(IOException e) {
System.out.println("error");
} }
}有谁知道带注释的地方为什么不能用用户名作为文件名字,如果用了,当编译运行后,第二次在编译就会报错,谁能帮我解释一下啊!!!
public static void main (String[] args) { BufferedReader br = null;
BufferedWriter bw = null;
String s = null;
try {
br = new BufferedReader(new FileReader("d:/java/TestBufferedWriter.java"));
bw = new BufferedWriter(new FileWriter("BufferedReader.java"));//这个地方好像不能与类名相同?????
} catch(FileNotFoundException e) {
System.out.println("没有找到文件,可能文件路径不正确!");
} catch (IOException e) {
System.out.println("error!");
}
try{
while((s=br.readLine())!=null) {
System.out.println(s);
}
br.close();
} catch(IOException e) {
System.out.println("error");
} }
}有谁知道带注释的地方为什么不能用用户名作为文件名字,如果用了,当编译运行后,第二次在编译就会报错,谁能帮我解释一下啊!!!
解决方案 »
- 请问现在最新的java版本是哪个?
- 求: ORACLE9.0下,比较两个用户里面相同表的数据的工具
- ---> 100分 简直是送分! 在线等 !!我想在APPLET中实现多线程,遇到问题,帖代码求高人
- 用Java NIO 异步套接字的 Select方法时,如果需要Select的对象数目太多,是否会影响Select的速度?
- 如何加载javax.xml.stream的包?
- !!!我写的一个在搜索硬盘上的文件的软件为什么在搜索ntfs格式的时候会出现nullpointer错误,而fat32的不会
- 关于java打印
- 小妹求教各位大哥
- "0xC0C0BABE" 有什么特殊的含义吗?
- Applet 不能自动初始化运行,只有当把鼠标移到上面初始化运行,重装ie6.0,java虚拟机也不行,请教大家?
- 菜鸟求救页面自动注册问题 无验证码 是一个交友网站的。
- 一个高手说 禁用客户端的COOKIE 客户端禁用COOKIE 不一样不知道有人知道这是什么意思有什么区别吗?
new FileWriter这个方法是创建一个文件
你不能用TestBufferedWriter来创建TestBufferedWriter(重名~)
当然你把创建出来的文件路径和TestBufferedWriter区分就可以了
具体的可以查API看看
这句话建立了一个输出流——如果“文件”不存在,就在将当前文件夹下创建这个文件;如果“文件”存在,那将改写这个文件!
在楼主的例子里,若带注释的地方用类作为文件名字,则这个输出流就定位到了这个文件上,也就是说,你的文件会被重写!而你的输出流里什么也没输出——那你这个文件就变成个什么内也没有的空文件了。这样,当你再次编译的时候当然就会出错了!
import java.io.*;public class TestBufferedWriter {
public static void main(String[] args) { BufferedReader br = null;
BufferedWriter bw = null;
String s = null;
try {
br = new BufferedReader(new FileReader(
"d:/java/TestBufferedWriter.java"));
bw = new BufferedWriter(new FileWriter("BufferedReader.java"));// 这个地方好像不能与类名相同?????
while ((s = br.readLine()) != null) {
System.out.println(s);
}
br.close();
} catch (FileNotFoundException e) {
System.out.println("没有找到文件,可能文件路径不正确!");
} catch (IOException e) {
System.out.println("error!");
} finally {
try {
if (br != null) {
br.close();
br = null;
}
} catch (IOException e) {
e.printStackTrace();
}
} }
}
public class Test {
public static void main (String[] args) {BufferedReader br = null;
BufferedWriter bw = null;
String s = null;
try {
br = new BufferedReader(new FileReader("D:/_eclipse2/xxx/src/xxx/Test.java"));//你的路径改一下
bw = new BufferedWriter(new FileWriter("Test.java"));//和类名一样,你试试
} catch(FileNotFoundException e) {
System.out.println("没有找到文件,可能文件路径不正确!");
} catch (IOException e) {
System.out.println("error!");
}
try{
while((s=br.readLine())!=null) {
System.out.println(s);
}
br.close();
} catch(IOException e) {
System.out.println("error");
}}
}
而且BufferedReader.java也创建了。。
如果是BufferedWriter bw = null; 这句出错,要看看是什么错误
是不是说你导入了一个不明确的类?
可能就是java.io.BufferedReader,与你新写的在默认包中的BufferedReader无法区分了。
错误的类文件 .\FileWriter.java
文件不包含类FileWriter
请删除该文件或确保该文件位于正确的类路径子目录中。FileWriter fw = null;我想知道为什么出错,内在的出错原理感觉4楼和9楼的有点道理,那位还能再解释解释。