package com.filewriter;
import java.io.*;
public class FileWriter { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("new.txt");
try{
FileWriter fw = new FileWriter(f); //The constructor FileWriter(File) is undefined
fw.write("www.baidu.com"); //The method write(String) is undefined for the type FileWriter
fw.close(); //The method close() is undefined for the type FileWriter
}catch(Exception e){
e.printStackTrace();
}
try{
FileReader fr = new FileReader(f);
char[] c = new char[1024];
int len = fr.read(c);
System.out.println(new String(c,0,len));
}catch(Exception e){
e.printStackTrace();
}




}}
各位高手帮忙看一下我的代码,就报上面的三个错误。

解决方案 »

  1.   

    自身类FileWriter与io的FileWriter类有冲突。办法:
    1. 更改类名
    2. io的FileWriter修改为全包名引用:java.io.FileWriter
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    File f = new File("new.txt");
    try {
    java.io.FileWriter fw = new java.io.FileWriter(f); // The
    // constructor
    // FileWriter(File) is undefined
    fw.write("www.baidu.com"); // The method write(String) is undefined
    // for the type FileWriter
    fw.close(); // The method close() is undefined for the type
    // FileWriter
    } catch (Exception e) {
    e.printStackTrace();
    }
    try {
    FileReader fr = new FileReader(f);
    char[] c = new char[1024];
    int len = fr.read(c);
    System.out.println(new String(c, 0, len));
    } catch (Exception e) {
    e.printStackTrace();
    } }
      

  2.   

    3. 类名与文件名应一直
    类名为FileWriter,文件名应为FileWriter.java
    类名为FileStream,文件名应为FileStream.java
      

  3.   

    把你的类名FileWriter 换一个,因为和java自带的FileWriter 重名了
      

  4.   

    自己写程序最好不要和java的核心类重名。
      

  5.   

    自身类FileWriter与io包的 FileWriter命名冲突了。Java的方法找的是就近原则;你本身的类比Jdk自带的要近喽;所以你要不写上引用的全部java.io.FileWriter 要不就改下你自己的类名了