| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1142 人关注过本帖
标题:打开文件问题
取消只看楼主 加入收藏
亮剑
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2006-10-18
收藏
 问题点数:0 回复次数:3 
打开文件问题
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);//这句写在这就会有错 写在上面就没问题 为什么啊
}
});
搜索更多相关主题的帖子: frame 文件 void Frame final 
2006-12-03 20:08
亮剑
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2006-10-18
收藏
得分:0 
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就报异常
2006-12-03 20:33
亮剑
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2006-10-18
收藏
得分:0 
但是我把fd.setVisible(true); 放在上面就没有这个异常了 一切正常
2006-12-03 22:27
亮剑
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2006-10-18
收藏
得分:0 

我把全部代码贴上来
package homework;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class HisFrome {


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中
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);//将输入流中的内容存入buf数组中并返回个数
ta.append(new String(buf,0,len));//将数组中的内容通过String类的构造器转换成字符并加入到文本域中
}catch(Exception E){E.printStackTrace();}
}
//fd.setVisible(true);//写这有错,要写在上面
}
});
MenuItem mi3=new MenuItem("Save");
MenuItem mi4=new MenuItem("Exit");
mi4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
MenuItem mi5=new MenuItem("Copy");
MenuItem mi6=new MenuItem("Paste");
/*
* 将菜单项分别加到两个菜单上
*/
mu1.add(mi1);
mu1.add(mi2);
mu1.add(mi3);
mu1.add(mi4);

mu2.add(mi5);
mu2.add(mi6);
/*
* 将两菜单加到菜单栏上
*/
mb.add(mu1);
mb.add(mu2);
//将菜单栏加到框架窗口上
frame.setMenuBar(mb);
}

}

2006-12-04 20:06
快速回复:打开文件问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030842 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved