要求:设计如下界面
文本框里面可以输入的路径和文件名
单机按钮可以读取在 指定的文件
并把文件内容显示到一个文本域里面来
代码:
/**
*
*/
package com.niit.homework;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
/**
* @author: Annie
* @date:2016年6月16日
* @description:2设计如下界面
文本框里面可以输入的路径和文件名
单机按钮可以读取在 指定的文件
并把文件内容显示到一个文本域里面来
*/
public class IoDemo extends JFrame implements ActionListener{
JTextField jt_path;
JTextArea ja;
JLabel lab_adrr;
JButton button;
public IoDemo() {
super("读取文件");
setLayout(new FlowLayout());
setSize(380,380);
jt_path = new JTextField(15);
ja = new JTextArea(15,25);
button = new JButton("确定");
button.addActionListener(this);
add(new JLabel("请输入文件地址"));
add(jt_path);
add(button);
add(new JScrollPane(ja));
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
IoDemo ioDemo = new IoDemo();
}
@Override
public void actionPerformed(ActionEvent e) {
int data;
String path = jt_path.getText().trim();//读取到文件名
System.out.println(path);
//读取文件内容
FileInputStream fis = null;
try {
fis = new FileInputStream(path);
byte [] a = new byte[1024];
while((data =fis.read(a,0,1024))!=-1){
String str = new String(a,0,data);
ja.append(str);
}
} catch ( IOException e1) {}
finally{
try {
fis.close();
} catch (IOException e1) {
}
}
}
}
注意: E:\\files\\niit.txt 要在你的E盘里先创建files包和niit.txt文件。并在.txt文件里写上文字。
效果图:
aaarticlea/png;base64,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" alt="" />
- 新手 gulp+ seajs 小demo
首先,不说废话,它的介绍和作者就不在多说了,网上一百度一大堆: 我在这里只是来写写我这2天抽空对seajs的了解并爬过的坑,和实现的一个小demo(纯属为了实现,高手请绕道); 一.环境工具及安装 1 ...
- Nancy之基于Nancy.Hosting.Self的小Demo
继昨天的Nancy之基于Nancy.Hosting.Aspnet的小Demo后, 今天来做个基于Nancy.Hosting.Self的小Demo. 关于Self Hosting Nancy,官方文档的 ...
- Nancy之基于Nancy.Owin的小Demo
前面做了基于Nancy.Hosting.Aspnet和Nancy.Hosting.Self的小Demo 今天我们来做个基于Nancy.Owin的小Demo 开始之前我们来说说什么是Owin和Katan ...
- Nancy之基于Self Hosting的补充小Demo
前面把Hosting Nancy with ASP.NET.Self Hosting Nancy和Hosting Nancy with OWIN 以demo的形式简单描述了一下. 这篇是为Self H ...
- [Unity3D]做个小Demo学习Input.touches
[Unity3D]做个小Demo学习Input.touches 学不如做,下面用一个简单的Demo展示的Input.touches各项字段,有图有真相. 本项目已发布到Github,地址在(https ...
- Android -- 自定义View小Demo,动态画圆(一)
1,转载:(http://blog.csdn.NET/lmj623565791/article/details/24500107),现在如下图的效果: 由上面的效果图可以看到其实是一个在一个圆上换不同 ...
- Win10 FaceAPI小demo开发问题汇总
Win10 FaceAPI小demo开发问题汇总 最近使用微软牛津计划做一个小demo,使用FaceAPI做一个小应用,实现刷脸的功能.开发的过程中用到几个问题,具体如下: Stream 与IRand ...
- 模仿京东顶部搜索条效果制作的一个小demo
最近模仿京东顶部搜索条效果制作的一个小demo,特贴到这里,今后如果有用到可以参考一下,代码如下 #define kScreenWidth [UIScreen mainScreen].bounds.s ...
- Android学习小Demo一个显示行线的自定义EditText
今天在处理一个EditText的时候,想着把EditText做成像一本作业本上的纸一样,每一行都可以由线条隔开,具体效果如下: 1)最开始的思路 一开始的想法是很简单的,找出每一行的高度,然后一行一行 ...
随机推荐
- 搭建hadoop、hdfs环境--ubuntu
最近在学习hadoop相关知识,就在本机上安装了hadoop,遇到了一些坑,也学到了不少.仅此记录我的安装过程,及可能遇到的问题.供参考.交流沟通见页末. 软件准备 > 虚拟机(VMware) ...
- openstack中dashboard页面RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.
环境是centos7,直接跑在服务器上. 按照官网一步步安装openstack,到验证dashborad时出错. 登录http://192.168.1.73/dashboard ,输入域名,用户名,密 ...
- 【NO.9】jmeter - 一个完整的接口测试的脚本
使用Jmeter对一个接口地址或者一个页面地址执行N次请求,下面来说说怎么建立一个测试脚本(也称为”测试计划”). 1. 运行Jmeter.bat 双击"Jmeter.bat"文件,稍等片刻后J ...
- org.apache.commons.io——FileUtils学习笔记
FileUtils类的应用 1.写入一个文件: 2.从文件中读取: 3.创建一个文件夹,包括文件夹: 4.复制文件和文件夹: 5.删除文件和文件夹: 6.从URL地址中获取文件: 7.通过文件过滤器和 ...
- 曲线点抽稀算法-Python实现
何为抽稀 在处理矢量化数据时,记录中往往会有很多重复数据,对进一步数据处理带来诸多不便.多余的数据一方面浪费了较多的存储空间,另一方面造成所要表达的图形不光滑或不符合标准.因此要通过某种规则,在保证矢 ...
- pyhton购物程序
要求: 启动程序后,让用户输入工资,然后打印出带有序号的商品列表 用户输入商品序号购买相应的商品,或者输入 ' q ' 退出购买界面 选择商品后,检查余额是否足够,够则直接扣款,不够则提示余额不足 用 ...
- 隐马尔可夫模型(HMM)
隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价 ...
- 你不可不看的Android开发命名规范
标识符命名法最要有四种: Camel(骆驼)命名法:除首单词外,其余所有单词的第一个字母大写,如:fooBar; Pascal命名法:所有单词的第一个字母大写,如:FooBar: 下划线命名法:单词与 ...
- 迭代器(Iterator)
迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小. Java中的Itera ...
- php递归查找指定目录下及子文件名称是否包含中文空格及括号
//php递归查找该目录下及子文件名称是否包含中文空格括号 function searchDir($path,&$data){ if(is_dir($path)){ $dp=dir($path ...