这是新学期的第二天,我相信每一天的努力都会有收获的,天无绝人之路。
今天学习的内容依旧是数据流部分,分装 FileInputStream,BufferedInputStream,DataInputStream 三种类型的嵌套缓冲等等。老师留的作业是一个记事本的输出输入,虽然要求实现的功能并不多,但是我尽自己能力都实现了,发现了很多学习不足之处,包括 GUI 的监听部分,以前停留在概念层面的东西在今天的实践当中清晰起来,包括windowsClosing() 的写法也熟悉了很多。这个今天的作业代码: import java.awt.FileDialog;
publicclasswenben extends Frame implements ActionListener {
//添加
TextArea ta;
MenuBar mb;
Stringfile="";
FileDialogfd_load;
FileDialogfd_save;
MenuFile,Edit,Format,Help;
MenuItemmiNew,miOpen,miSave,miExit,miSaveAs,miFont;
public wenben(){
super(" 记事本 ");
ta =newTextArea("",200,300);
mb = newMenuBar();
File = newMenu(" 文件 ");
Edit = newMenu(" 编辑 ");
Format = newMenu(" 格式 ");
Help = newMenu(" 帮助 ");
miNew = newMenuItem(" 新建 ");
miOpen = newMenuItem(" 打开 ");
miSave = newMenuItem(" 保存 ");
miExit = newMenuItem(" 退出 ");
miSaveAs = newMenuItem(" 另存为 ");
miFont = newMenuItem(" 字体 ");
File.add(miNew);
File.add(miOpen);
File.add(miSave);
File.add(miSaveAs);
File.add(miExit);
Edit.add(miFont);
mb.add(File);
mb.add(Edit);
mb.add(Format);
mb.add(Help);
setMenuBar(mb);
this.add(ta);
miOpen.addActionListener(this);
miSave.addActionListener(this);
miSaveAs.addActionListener(this);
miExit.addActionListener(this);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvent e){
System.exit(0);
}
});
fd_load =newFileDialog(this," 打开文件",FileDialog.LOAD);
fd_save = newFileDialog(this," 保存文件 ",FileDialog.SAVE);
}
public voidactionPerformed(ActionEvente){
String s =e.getActionCommand();
if(s.equals("打开 ")){
fd_load.setVisible(true);
String d =fd_load.getDirectory();
String f =fd_save.getFile();
if((d!=null)&&(f!=null)){
file=d+f;
loadFile();
}
}elseif(s.equals(" 保存 ")){
if((file==null)||file.equals("")){
saveFileAs();
}else{
saveFile();
}
}elseif(s.equals(" 另存为 ")){
saveFileAs();
}
elseif(s.equals(" 退出 ")){
System.exit(0);
}
}
public voidloadFile(){
ta.setText("");
this.setTitle("记事本 "+file);
try{
BufferedReaderbr = newBufferedReader(new FileReader(file));
String s =br.readLine();
while(s!=null){
ta.append(s+"\n");
s=br.readLine();
}
br.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
public voidsaveFile(){
String content =ta.getText();
try{
PrintWriter pw =newPrintWriter(new FileWriter(file+".TXT"));
pw.println(content);
pw.close();
}catch(IOExceptionie){
ie.printStackTrace();
}
}
public voidsaveFileAs(){
fd_save.setVisible(true);
String f =fd_save.getDirectory();
String d =fd_save.getFile();
if((f!=null)&&(d!=null)){
file=f+d;
saveFile();
setTitle(" 记事本 --"+file);
}
}
public staticvoid main(String[] args){
wenben tm = newwenben();
tm.setSize(300,200);
tm.setLocation(300,200);
tm.setVisible(true);
}
}
分享到:
相关推荐
封装好的java io实例,简单,可做学习参考,也可用于工具调用!
《System.IO实例详解》 ...总的来说,`System.IO`实例程序是学习和掌握.NET框架中文件系统操作的宝贵资源。通过实践这些实例,开发者可以熟练运用`System.IO`类库,实现高效、可靠的文件和目录管理功能。
总的来说,这个实例综合运用了Java的面向对象特性,展示了如何通过封装、继承和多态来设计和实现复杂的系统。同时,通过文件流操作,它还演示了如何在Java中处理文件,这对于任何涉及到数据存储或交换的项目都是必不...
* 熟悉使用Java中的类和对象,例如创建类、实例化对象、访问成员变量和方法等。 * 了解Java中的继承和多态的使用。 四、封装、继承、多态 * 理解Java中的封装、继承和多态的概念。 * 熟悉使用Java中的封装,例如...
通过类定义对象的结构,通过实例化创建具体对象,通过继承实现代码复用和扩展,通过多态实现灵活的接口。深入理解类、对象、继承、多态和封装等概念,能让你编写出更加模块化和易于维护的代码。 接着,我们来看...
2. **类与对象**:Java是面向对象的语言,因此实例会展示如何定义类、创建对象以及理解封装、继承和多态等核心概念。可能会有如学生信息管理系统、银行账户类等例子。 3. **异常处理**:学习如何使用try-catch块来...
本实例将深入探讨如何利用Delphi进行直接IO端口操作,实现传真收发功能。直接IO端口访问是低级别硬件交互的一种方式,允许程序直接与硬件接口进行通信,从而实现特定的硬件控制任务,如控制串行或并行端口进行数据...
`System.IO`命名空间下的`StreamReader`和`FileStream`类可以用来按行读取文本文件或直接访问文件的字节流。了解这些方法对于处理日志记录、配置文件或数据存储至关重要。 总之,《C#应用实例大全》覆盖了C#编程的...
本文将详细探讨标题为"IO_SC_SONIX单片机例程_"的资源包,它包含了SONIX单片机的IO口操作实例,包括汇编语言和C语言的程序,以及相关的说明文档。 IO口,即输入/输出接口,是单片机与外部世界进行数据交换的关键...
6. **IO流**:Java的IO流用于读写数据,实例可能涵盖文件操作、字节流、字符流、缓冲区流和对象序列化等。 7. **网络编程**:Java的Socket编程允许创建客户端和服务器应用程序,进行网络通信。实例可能涉及TCP和UDP...
2. **面向对象编程**:Java是完全面向对象的语言,实例可能涵盖类的定义、对象的创建与使用、封装、继承、多态等核心概念。此外,还会涉及接口和抽象类的运用,帮助开发者理解面向对象的设计思想。 3. **异常处理**...
总的来说,"Delphi直接IO及TAPI语音传真编程实例"是一个关于如何在Delphi中实现高效的数据传输和电话通信功能的教程或代码示例。通过学习这个实例,开发者可以深入理解如何利用Delphi的API调用进行底层硬件交互,...
首先,面向对象编程是Java的核心,书中可能包含如何定义类、对象,实现继承、封装和多态性的实例。读者可以学习如何设计和实现复杂的类结构,以及如何利用接口来规范行为。 其次,异常处理是Java程序健壮性的重要...
总结来说,Android IO下载图片涉及到网络请求、数据流处理、内存和磁盘缓存、异步编程等多个方面。通过选择合适的网络库,结合有效的缓存策略和性能优化,我们可以实现高效、流畅的图片下载和显示功能。对于`...
在本项目中,全局FB库文件用于封装IO点位映射到二维数组的逻辑,使得在不同工程中可以方便地调用和复用。 6. **实现步骤**: - 首先,创建一个全局FB库文件,定义一个二维数组以存储IO点位的数据。 - 使用AT指令...
XML、JSON和IO是计算机编程中的重要概念,特别是在数据交换和存储方面。下面将详细解释这三个领域的基本操作。 XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它以结构化的方式组织数据。在提供的代码...
2. **类与对象**:Java是面向对象的语言,实例中可能包含类的定义、对象的创建、封装、继承和多态等概念。理解类的构造函数、方法、访问修饰符(public、private、protected)以及如何通过对象调用这些成员至关重要...
- 异步操作相关的类和函数:用于异步读写操作的实现,可能包含线程、信号量等同步机制。 - 错误处理:包含错误码定义和错误处理逻辑。 通过深入学习和分析CommLib的源码,开发者可以更好地理解和定制串口通信功能,...
3. **StreamReader和StreamWriter类**:这些类用于文本数据的读写,它们分别继承自`TextReader`和`TextWriter`,并进一步封装了`Stream`。`StreamReader`用于读取字符流,支持读取一行文本、读取整行直到遇到换行符...
11. **IO与NIO**:传统IO流与非阻塞IO(New IO)的区别和应用。 12. **JDBC**:数据库连接,SQL查询,预编译语句,结果集处理,事务管理等。 13. **设计模式**:常见的设计模式如单例、工厂、观察者、装饰器、策略...