java根据文件名读文件_java根据文件名 读取文本文件的内容逐行显示到JTextArea里...

这个Java程序创建了一个GUI,包含一个下拉菜单和一个文本区域。用户从菜单中选择文件名(如“文件一”或“文件二”),程序将读取对应路径的txt文件内容,并逐行显示在文本区域内。使用了BufferedReader和FileReader来实现文件读取,如果文件不存在或出现IO异常,程序会捕获并打印堆栈跟踪。
摘要由CSDN通过智能技术生成

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.Toolkit;

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.JComboBox;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

public class Test extends JFrame{

String[] s={"文件一","文件二"};

String[] path={"t1.txt","t2.txt"};

private JTextArea t=new JTextArea();

private JComboBox c=new JComboBox();

private JPanel p=new JPanel();;

private Toolkit k=Toolkit.getDefaultToolkit();

private Dimension screen=k.getScreenSize();

private JScrollPane js=new JScrollPane();

public Test(){

setVisible(true);

setSize(500, 500);

setLocation(screen.width/2-250,screen.height/2-250);

setDefaultCloseOperation(EXIT_ON_CLOSE);

p.setVisible(true);

p.setLayout(new BorderLayout());

add(p);

js.add(t);

js.setVisible(true);

js.setViewportView(t);

for(String ss:s){

c.addItem(ss);

}

p.add(c,BorderLayout.NORTH);

p.add(js,BorderLayout.CENTER);

c.addActionListener(new Action());

}

public static void main(String[] arg){

new Test();

}

class Action implements ActionListener{

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

t.setText("");

String path1=null;

String item=(String) c.getSelectedItem();

if(item.equals(s[0]))

path1=path[0];

else

path1=path[1];

String temp=null;

try {

BufferedReader br=new BufferedReader(new FileReader(path1));

while((temp=br.readLine())!=null){

t.append(temp+"\n");

}

} catch (FileNotFoundException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

} catch (IOException e2) {

// TODO Auto-generated catch block

e2.printStackTrace();

}

}

}

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值