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");
} }
}有谁知道带注释的地方为什么不能用用户名作为文件名字,如果用了,当编译运行后,第二次在编译就会报错,谁能帮我解释一下啊!!!
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楼的有点道理,那位还能再解释解释。