打开文件问题
public static void main(String[] args) {final Frame frame=new Frame("His frome");
final TextArea ta=new TextArea();
frame.setSize(350,350);
frame.setLocation(250,300);
frame.add(ta);
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
frame.setVisible(true);
/*
* 创建一个菜单栏
*/
MenuBar mb=new MenuBar();
/*
* 创建两个菜单
*/
Menu mu1=new Menu("File");
Menu mu2=new Menu("Edit");
/*
* 创建六个菜单项
*/
MenuItem mi1=new MenuItem("New");
MenuItem mi2=new MenuItem("Open");
/*
* 为open添加打开功能
*/
mi2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
FileDialog fd=new FileDialog(frame,"open file",FileDialog.LOAD);
//fd.setVisible(true);
String ftd=fd.getDirectory()+fd.getFile();
if(ftd!=null){
try{
FileInputStream fis=new FileInputStream(ftd);
byte [] buf=new byte[1024*10];
int len=fis.read(buf);
ta.append(new String(buf,0,len));
}catch(Exception E){E.printStackTrace();}
}
fd.setVisible(true);//这句写在这就会有错 写在上面就没问题 为什么啊
}
});
----------------解决方案--------------------------------------------------------
我这里一点问题都没有啊
倒是你的编程风格不太好
竟然在main方法里面做这么多事情
----------------解决方案--------------------------------------------------------
我这里一点问题都没有啊
倒是你的编程风格不太好
竟然在main方法里面做这么多事情
----------------解决方案--------------------------------------------------------
发两次,灌水
----------------解决方案--------------------------------------------------------
系统问题
----------------解决方案--------------------------------------------------------
java.io.FileNotFoundException: nullnull (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at homework.HisFrome$2.actionPerformed(HisFrome.java:48)
at java.awt.MenuItem.processActionEvent(MenuItem.java:597)
at java.awt.MenuItem.processEvent(MenuItem.java:556)
at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:298)
at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:286)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:466)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
我把fd.setVisible(true);写在后面一点OPEN就报异常
----------------解决方案--------------------------------------------------------
系统找不到文件关它什么事啊
----------------解决方案--------------------------------------------------------
但是我把fd.setVisible(true); 放在上面就没有这个异常了 一切正常
----------------解决方案--------------------------------------------------------
那就是怪事了,我这里可是放哪里都可以的
----------------解决方案--------------------------------------------------------
就你的这段代码放到我这里运行,那是放到哪里都可以的,因为它根本就没有执行过
我这里运行后只看到一个白的框你的什么菜单啊,菜单条啊都没有加进去,
但是FileDialog确实是要先调用使其可见的方法,它会阻塞当前线程,直到你选择了文件为止
这个时候就可以打印出你的文件什么的了
不过现在推荐用 javax.swing来构造界面,当前FileDialog就要用JFileChooser来代替了
再一次表示你的编码风格不太好,把条理都整好了以后,很容易判断出错在哪里的
会写程序还不够,重要的是还要会对程序进行排错,知道错在哪里,知道怎么改进
----------------解决方案--------------------------------------------------------