`

IO封装和相关实例

阅读更多

这是新学期的第二天,我相信每一天的努力都会有收获的,天无绝人之路。

今天学习的内容依旧是数据流部分,分装 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 实例工具(源码)

    封装好的java io实例,简单,可做学习参考,也可用于工具调用!

    System.IO实例

    《System.IO实例详解》 ...总的来说,`System.IO`实例程序是学习和掌握.NET框架中文件系统操作的宝贵资源。通过实践这些实例,开发者可以熟练运用`System.IO`类库,实现高效、可靠的文件和目录管理功能。

    Java封装继承多态实例以及文件流操作

    总的来说,这个实例综合运用了Java的面向对象特性,展示了如何通过封装、继承和多态来设计和实现复杂的系统。同时,通过文件流操作,它还演示了如何在Java中处理文件,这对于任何涉及到数据存储或交换的项目都是必不...

    Java图书管理系统(IO流版)(csdn)————程序.pdf

    * 熟悉使用Java中的类和对象,例如创建类、实例化对象、访问成员变量和方法等。 * 了解Java中的继承和多态的使用。 四、封装、继承、多态 * 理解Java中的封装、继承和多态的概念。 * 熟悉使用Java中的封装,例如...

    Python高级编程和异步IO并发编程

    通过类定义对象的结构,通过实例化创建具体对象,通过继承实现代码复用和扩展,通过多态实现灵活的接口。深入理解类、对象、继承、多态和封装等概念,能让你编写出更加模块化和易于维护的代码。 接着,我们来看...

    75个Java实例 实例下载

    2. **类与对象**:Java是面向对象的语言,因此实例会展示如何定义类、创建对象以及理解封装、继承和多态等核心概念。可能会有如学生信息管理系统、银行账户类等例子。 3. **异常处理**:学习如何使用try-catch块来...

    Delphi直接IO端口收发传真的编程实例..rar

    本实例将深入探讨如何利用Delphi进行直接IO端口操作,实现传真收发功能。直接IO端口访问是低级别硬件交互的一种方式,允许程序直接与硬件接口进行通信,从而实现特定的硬件控制任务,如控制串行或并行端口进行数据...

    C#应用实例大全 含有很多的应用 适合学习

    `System.IO`命名空间下的`StreamReader`和`FileStream`类可以用来按行读取文本文件或直接访问文件的字节流。了解这些方法对于处理日志记录、配置文件或数据存储至关重要。 总之,《C#应用实例大全》覆盖了C#编程的...

    IO_SC_SONIX单片机例程_

    本文将详细探讨标题为"IO_SC_SONIX单片机例程_"的资源包,它包含了SONIX单片机的IO口操作实例,包括汇编语言和C语言的程序,以及相关的说明文档。 IO口,即输入/输出接口,是单片机与外部世界进行数据交换的关键...

    大学 java 课程 实例

    6. **IO流**:Java的IO流用于读写数据,实例可能涵盖文件操作、字节流、字符流、缓冲区流和对象序列化等。 7. **网络编程**:Java的Socket编程允许创建客户端和服务器应用程序,进行网络通信。实例可能涉及TCP和UDP...

    java开发实例1200

    2. **面向对象编程**:Java是完全面向对象的语言,实例可能涵盖类的定义、对象的创建与使用、封装、继承、多态等核心概念。此外,还会涉及接口和抽象类的运用,帮助开发者理解面向对象的设计思想。 3. **异常处理**...

    Delphi直接IO及TAPI语音传真编程实例..rar

    总的来说,"Delphi直接IO及TAPI语音传真编程实例"是一个关于如何在Delphi中实现高效的数据传输和电话通信功能的教程或代码示例。通过学习这个实例,开发者可以深入理解如何利用Delphi的API调用进行底层硬件交互,...

    java中级实例应用教程

    首先,面向对象编程是Java的核心,书中可能包含如何定义类、对象,实现继承、封装和多态性的实例。读者可以学习如何设计和实现复杂的类结构,以及如何利用接口来规范行为。 其次,异常处理是Java程序健壮性的重要...

    android io 下载图片

    总结来说,Android IO下载图片涉及到网络请求、数据流处理、内存和磁盘缓存、异步编程等多个方面。通过选择合适的网络库,结合有效的缓存策略和性能优化,我们可以实现高效、流畅的图片下载和显示功能。对于`...

    TIA博途-使用AT指令实现IO点位映射到二维数组中-全局FB库文件-V17版本-GF-二维数组IO点位映射.zip

    在本项目中,全局FB库文件用于封装IO点位映射到二维数组的逻辑,使得在不同工程中可以方便地调用和复用。 6. **实现步骤**: - 首先,创建一个全局FB库文件,定义一个二维数组以存储IO点位的数据。 - 使用AT指令...

    XML_JSON_IO基本操作

    XML、JSON和IO是计算机编程中的重要概念,特别是在数据交换和存储方面。下面将详细解释这三个领域的基本操作。 XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它以结构化的方式组织数据。在提供的代码...

    java实例大全来源于一本教程光盘

    2. **类与对象**:Java是面向对象的语言,实例中可能包含类的定义、对象的创建、封装、继承和多态等概念。理解类的构造函数、方法、访问修饰符(public、private、protected)以及如何通过对象调用这些成员至关重要...

    CommLib 一个封装完美的串口库,异步IO驱动

    - 异步操作相关的类和函数:用于异步读写操作的实现,可能包含线程、信号量等同步机制。 - 错误处理:包含错误码定义和错误处理逻辑。 通过深入学习和分析CommLib的源码,开发者可以更好地理解和定制串口通信功能,...

    c#文件和IO流学习

    3. **StreamReader和StreamWriter类**:这些类用于文本数据的读写,它们分别继承自`TextReader`和`TextWriter`,并进一步封装了`Stream`。`StreamReader`用于读取字符流,支持读取一行文本、读取整行直到遇到换行符...

    250个Java实例源代码

    11. **IO与NIO**:传统IO流与非阻塞IO(New IO)的区别和应用。 12. **JDBC**:数据库连接,SQL查询,预编译语句,结果集处理,事务管理等。 13. **设计模式**:常见的设计模式如单例、工厂、观察者、装饰器、策略...

Global site tag (gtag.js) - Google Analytics