求代码,关于java io流的题目

求代码,关于javaio流的题目(文本浏览器)编写程序,在文本域中显示一个文本文件,如图1所示。用户在文本域中输入一个文件名,然后单击View按钮,随后在文本域中显示这个... 求代码,关于java io流的题目(文本浏览器)编写程序,在文本域中显示一个文本文件,如图1所示。用户在文本域中输入一个文件名,然后单击View按钮,随后在文本域中显示这个文件的内容。 展开
 我来答
紫薇参星
科技发烧友

2017-04-05 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3654万
展开全部

按照你的要求编写的文本浏览器的Java程序如下(这个程序比上一个程序的容错能力更强)

//文本浏览器
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class P4 extends JFrame implements ActionListener{
 JTextArea jta=new JTextArea(3,5);
 JScrollPane jsp=new JScrollPane(jta);
 JTextField jtf=new JTextField(20);
 JButton jb=new JButton("View");
 JLabel jl=new JLabel("Filename");
 JPanel jp=new JPanel();
 P4(){
  setTitle("文本浏览器");
  jb.addActionListener(this);
  jp.add(jl);jp.add(jtf);jp.add(jb);
  add(jsp,BorderLayout.CENTER);
  add(jp,BorderLayout.SOUTH);
  setSize(400, 400);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setLocationRelativeTo(null);
  setVisible(true);
 }
 @Override
 public void actionPerformed(ActionEvent e) {
  if(e.getSource()==jb){
   if(jtf.getText()==null || jtf.getText().equals("")){
    JOptionPane.showMessageDialog(jtf, "请输入文件名!");
    jtf.requestFocus();
    return;
   }
   BufferedReader br=null;
   try{
    String fileName=jtf.getText().trim();
    br=new BufferedReader(new FileReader(fileName));
    String s="";
    StringBuffer sb = new StringBuffer();
    while((s=br.readLine())!=null){
     sb.append(s+"\n");
    }
    jta.setText(sb.toString());
   }catch(FileNotFoundException fnfe){
    JOptionPane.showMessageDialog(jtf, "系统找不到指定文件!");
    jtf.requestFocus();
   }catch(IOException ioe){
    ioe.printStackTrace();
   }finally{
    try {
     if(br!=null)
      br.close();
    } catch (IOException e1) {
     e1.printStackTrace();
    }
   }
  }
 }
 public static void main(String[] args) {
  new P4();
 }
}

运行结果

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式