编译时出现错误:
C:\WriteBoard.java:132: cannot resolve symbol
symbol  : constructor PrintWriter (java.io.File)
location: class java.io.PrintWriter
PrintWriter pw = new PrintWriter(file);程序代码如下:
import java.awt.datatransfer.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
import java.awt.FileDialog;public class WriteBoard extends java.awt.Frame {
Clipboard clipboard = null;
FileDialog fc = new FileDialog(this); /** Creates new form WriteBoard */
public WriteBoard() {
clipboard = getToolkit().getSystemClipboard();
initComponents();
} // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
textArea1 = new java.awt.TextArea();
menuBar1 = new java.awt.MenuBar();
menu1 = new java.awt.Menu();
menuItem1 = new java.awt.MenuItem();
menuItem2 = new java.awt.MenuItem();
menuItem3 = new java.awt.MenuItem();
menuItem4 = new java.awt.MenuItem();
menuItem5 = new java.awt.MenuItem();
menu2 = new java.awt.Menu();
menuItem6 = new java.awt.MenuItem();
menuItem7 = new java.awt.MenuItem();
menuItem8 = new java.awt.MenuItem(); setTitle("WriteBoard");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
}); add(textArea1, java.awt.BorderLayout.CENTER); menu1.setLabel("Menu");
menuItem1.setLabel("\u65b0\u5efa");
menuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
newText(evt);
}
}); menu1.add(menuItem1); menuItem2.setLabel("\u6253\u5f00");
menuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
open(evt);
}
}); menu1.add(menuItem2); menuItem3.setLabel("\u4fdd\u5b58");
menuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
menuItem3ActionPerformed(evt);
}
}); menu1.add(menuItem3); menuItem4.setLabel("\u53e6\u5b58\u4e3a");
menuItem4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
menuItem4ActionPerformed(evt);
}
}); menu1.add(menuItem4); menuItem5.setLabel("\u9000\u51fa");
menuItem5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
exit(evt);
}
}); menu1.add(menuItem5); menuBar1.add(menu1); menu2.setLabel("\u7f16\u8f91");
menuItem6.setLabel("\u526a\u5207");
menuItem6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
menuItem6ActionPerformed(evt);
}
}); menu2.add(menuItem6); menuItem7.setLabel("\u590d\u5236");
menuItem7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
menuItem7ActionPerformed(evt);
}
}); menu2.add(menuItem7); menuItem8.setLabel("\u7c98\u8d34");
menuItem8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
menuItem8ActionPerformed(evt);
}
}); menu2.add(menuItem8); menuBar1.add(menu2); setMenuBar(menuBar1); pack();
}// </editor-fold> private void menuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
fc.show(); if (fc.getFile() != null) { File file = new File(fc.getFile()); try {
PrintWriter pw = new PrintWriter(file);
pw.print(textArea1.getText());
pw.flush();
pw.close(); } catch (FileNotFoundException ex) {
ex.printStackTrace();
}
} else {
return;
}
} private void menuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
fc.show();
if (fc.getFile() != null) { File file = new File(fc.getFile()); try {
PrintWriter pw = new PrintWriter(file);
pw.print(textArea1.getText());
pw.flush();
pw.close(); } catch (FileNotFoundException ex) {
ex.printStackTrace();
}
} else {
return;
}
} private void menuItem8ActionPerformed(java.awt.event.ActionEvent evt) {
Transferable contents = clipboard.getContents(this);
DataFlavor flavor = DataFlavor.stringFlavor;
if (contents.isDataFlavorSupported(flavor))
try {
String str;
str = (String) contents.getTransferData(flavor);
textArea1.append(str);
} catch (Exception e) {
}
} private void menuItem7ActionPerformed(java.awt.event.ActionEvent evt) {
String temp = this.textArea1.getSelectedText();
StringSelection text = new StringSelection(temp); clipboard.setContents(text, null);
} private void menuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
String temp = this.textArea1.getSelectedText();
StringSelection text = new StringSelection(temp);
clipboard.setContents(text, null);
int start = textArea1.getSelectionStart();
int end = textArea1.getSelectionEnd();
textArea1.replaceRange("", start, end);
} private void open(java.awt.event.ActionEvent evt) {
fc.show();
if (fc.getFile() != null) { File file = new File(fc.getFile());
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String s;
try {
while ((s = br.readLine()) != null) {
textArea1.append(s + "\n");
}
fr.close();
br.close();
} catch (IOException ex) {
ex.printStackTrace();
} } catch (FileNotFoundException ex) {
ex.printStackTrace();
} } else {
return;
}
} private void newText(java.awt.event.ActionEvent evt) {
this.textArea1.setText("");
} private void exit(java.awt.event.ActionEvent evt) {
System.exit(0);
} /** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
} /**
 * @param args
 *            the command line arguments
 */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new WriteBoard().setVisible(true);
}
});
} // Variables declaration - do not modify
private java.awt.Menu menu1;
private java.awt.Menu menu2;
private java.awt.MenuBar menuBar1;
private java.awt.MenuItem menuItem1;
private java.awt.MenuItem menuItem2;
private java.awt.MenuItem menuItem3;
private java.awt.MenuItem menuItem4;
private java.awt.MenuItem menuItem5;
private java.awt.MenuItem menuItem6;
private java.awt.MenuItem menuItem7;
private java.awt.MenuItem menuItem8;
private java.awt.TextArea textArea1;
// End of variables declaration}

解决方案 »

  1.   

    不知道在我这里为啥会出现错误,我加入了import java.io.*; 
    为啥还会出现PrintWriter pw = new PrintWriter(file); 
    的错误呢
      

  2.   

    PrintWriter pw = new PrintWriter(file);  
    源文件使用的貌似是jdk 1.5以后的新构造,你的jdk版本难道低于 1.5?升级试试!
      

  3.   

    最好是换jdk版本,要不把 PrintWriter pw = new PrintWriter(file); 
    换成这句
    PrintWriter pw = new PrintWriter(new FileOutputStream(file));
    试试
      

  4.   

    哦,那谢谢了哈,原来是这么一回事,呵呵,我用的是1.4的。
    除了用以下的方式存储文件,还有什么较好的方法
    FileDialog fc = new FileDialog(this); fc.show(); 
    if (fc.getFile() != null) { File file = new File(fc.getFile()); try { 
    PrintWriter pw = new PrintWriter(file); 
    pw.print(textArea1.getText()); 
    pw.flush(); 
    pw.close(); } catch (FileNotFoundException ex) { 
    ex.printStackTrace(); 

      

  5.   

    import javax.swing.JFileChooser;
    大家比较喜欢用JFileChooser来打开和存储文件,还不错
    至于FileDialog不熟悉,awt的
    看看swing吧,一起学习之
      

  6.   

    PrintWriter pw = new PrintWriter(new FileOutputStream(file)); 
    我换成了这一句,好用了,谢谢啊,这一句是以前的构造么
      

  7.   

    恩,那谢谢啊,我看SUN公司的JAVA2核心技术中也是介绍的JFileChooser,由于没有实际例子所以看不懂,在大学学JAVA时间到现在只有一个月,所以还不怎么会用,第一次提问题就遇到了你,真的很感谢哦
      

  8.   

    偶也在看核心技术,看基础部分,哈哈。
    推荐你用eclipse,结合api手册,学习就比较快了。
      

  9.   

    刚刚写了个ECLIPSE,中文的,一点调试就出来一个文本过滤框,我都不知道是不是还需要更改设置-.-
      

  10.   

    偶来宣传一下:
    JAVA版的前辈很多,都十分的热心,常常来这里转转,回答回答别人的问题,看看别人的精彩回复,对自己很有提高的。