`
VIP庚
  • 浏览: 223366 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

简单文档读取与保存

 
阅读更多
运行界面:


这个项目 主要是练习运用文件的读写操作 理解并运用I/O流

一: 创建主界面 添加JTextArea文本域  和  菜单栏
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.filechooser.FileNameExtensionFilter;

public class FileUI extends JFrame {
	JTextArea text;
	public static void main(String[] args) {
		FileUI ui = new FileUI();
		ui.InitUI();
	}

	public void InitUI() {
		this.setTitle("文本读写");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setSize(500, 600);
		this.setLocation(400, 150);

		// 设置文件菜单
		JMenuBar mb = new JMenuBar();
		JMenu menu = new JMenu("File");
		JMenuItem open = new JMenuItem("打开文件");
		open.setActionCommand("open");
		JMenuItem save = new JMenuItem("保存文件");
		save.setActionCommand("save");

		// 设置带滚动条的JTextArea
		 text = new JTextArea();
		JScrollPane scr = new JScrollPane(text);
		this.add(scr);

		this.setJMenuBar(mb);
		mb.add(menu);
		menu.add(open);
		menu.add(save);
		this.setVisible(true);
       }
}


二:为菜单项添加匿名监听器
在InitUI() 中创建匿名动作监听器
// 定义匿名内部类动作监听器
ActionListener lis = new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				String str = e.getActionCommand();
				if ("open".equals(str)) {
					JFileChooser chooser = new JFileChooser();
					// 文件和文件夹可以同时选择
				//	chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
					int t = chooser.showOpenDialog(null);
					//当选择确定按钮时
					if (t == JFileChooser.APPROVE_OPTION) {
						String filename = chooser.getSelectedFile().getAbsolutePath();
						try {
							FileInputStream fls=new FileInputStream(filename);
							BufferedInputStream bis=new BufferedInputStream(fls);
						    byte by[]=new byte[bis.available()];
							bis.read(by);
							String s=new  String(by);
							text.setText(s);
						} catch (Exception e1) {
							// TODO Auto-generated catch block
							e1.printStackTrace();
						}
						
					}
				} else if ("save".equals(str)) {
					JFileChooser chooser = new JFileChooser();
					FileNameExtensionFilter filter = new FileNameExtensionFilter(
					        "文本文档", "txt");
					chooser.setFileFilter(filter);
					//String aa=chooser.getFileFilter().getDescription();
					//System.out.println(aa);
					// 文件和文件夹可以同时选择
				    //chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
					int t=chooser.showSaveDialog(null);
					if (t == JFileChooser.APPROVE_OPTION) {
						String filename = chooser.getSelectedFile().getAbsolutePath();
						if(!filename.endsWith(".txt"))
							filename=filename+".txt";
						try {
							FileOutputStream fos=new FileOutputStream(filename);
							BufferedOutputStream bos=new BufferedOutputStream(fos);
							String s=text.getText();
							byte[] ch=s.getBytes();
							bos.write(ch);
							bos.flush();
							bos.close();
							
						} catch (Exception e1) {
							// TODO Auto-generated catch block
							e1.printStackTrace();
						}
					}
				}
			}
		};

		// 为菜单项添加动作监听器
		open.addActionListener(lis);
		save.addActionListener(lis);


注:①当点击打开文件时 创建JChooser 并显示系统提供的打开文件对话框showOpenDialog
   ②当点击保存文件时 创建JChooser 并显示系统提供的保存文件对话框showSaveDialog
   ③通过FileInputStream和FileOutputStream对文件进行读取与保存
  • 大小: 119.7 KB
分享到:
评论

相关推荐

    Xml的读取与保存

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、自解释性和可扩展性而...例如,可以尝试创建一个简单的XML文件,然后使用TimyXML进行读取和修改,最后再保存回去,以加深理解。

    asp.net(c#).winform 读取word文档内容、创建新word文档

    5. 关闭文档和应用程序:与读取操作一样,别忘了关闭文档和退出Word。 示例代码: ```csharp public void CreateNewDocument(string outputPath) { Word.Application wordApp = new Word.Application(); Word....

    读取图片保存图片文档

    本文主要介绍的是如何在Visual C#中利用GDI+和Unsafe代码类进行数字图像处理,包括读取图片、保存图片以及对图片进行颜色翻转、灰度处理和增亮处理。以下是详细的知识点说明: 1. **GDI+**: GDI+是微软.NET框架的...

    读取Word文档,Unity使用,自测有效

    在Unity引擎中,读取Word文档通常涉及到使用第三方库来处理Office文档的解析与操作。在您提供的文件列表中,我们可以看到几个关键的DLL文件,它们是用于处理Microsoft Office文件格式的库,如NPOI和EPPlus。下面将...

    POI读取word文档的文字内容和图片内容

    以下是一个简单的代码示例,演示了如何读取Word文档中的文字和图片: ```java import org.apache.poi.xwpf.usermodel.*; public class PoiWordReader { public static void main(String[] args) throws Exception...

    XML文件的读取与保存

    总结,XML文件的读取、解析和保存到数据库涉及多种技术,包括选择合适的解析器、处理XML结构、以及与数据库交互。通过理解这些概念,开发者可以灵活地处理XML数据,满足各种应用场景的需求。在实际应用中,还需注意...

    TXT文档写入与读取

    "TXT文档写入与读取"这个主题涉及到如何使用C++来处理TXT格式的文本文件,这通常用于存储简单数据或者日志记录。下面我们将深入探讨如何在VC++环境下实现TXT文档的读写操作。 首先,我们需要理解基本的文件操作概念...

    新手小白必看系列-图像像素值读取并保存到txt文件

    在IT领域,图像处理是一项...通过以上步骤,新手小白可以轻松实现图像像素值的读取与保存,为后续的图像处理和数据分析奠定基础。随着经验的积累,你可以尝试更复杂的图像处理操作,如图像变换、滤波、色彩空间转换等。

    C语言从文本文档读取字符串(用户名和密码验证)

    在C语言中,从文本文档读取字符串并进行用户名和密码验证是常见的操作,尤其在简单的登录系统或数据存储中。以下将详细介绍这个过程,包括如何打开文件、读取内容以及验证用户输入。 首先,我们需要理解C语言中的...

    word 文档 保存 到数据库

    2. **文件读取与数据转换**:在保存Word文档到数据库之前,我们需要将文档内容转换为适合存储的数据格式。这通常意味着将文本内容、样式信息等转换为字符串或者二进制数据。对于纯文本内容,可以简单地读取并存储...

    VC++保存与读取XML文件

    本文将深入探讨如何在VC++6.0环境下进行XML文件的保存与读取操作。 XML文件的结构清晰,易于人读,同时也方便机器解析。在VC++6.0中,我们可以利用微软提供的MSXML库(Microsoft XML Core Services)来处理XML。...

    java读取xsl文件,读取文档

    在Java编程中,读取XSL(eXtensible Stylesheet Language)文件是常见的任务,尤其是在处理XML数据转换时。XSL文件用于定义XML数据的样式和布局,通过与XML文件结合,可以生成HTML、PDF或其他格式的输出。在本案例中...

    MFC保存控件数据到xml及读取xml数据到控件

    在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 框架与XML库,如TinyXML2,来实现保存控件数据至XML文件以及从XML文件中读取数据回控件的功能。这对于创建应用程序配置文件或者保存用户自定义...

    java读取word文档.pdf

    在Java中,由于Microsoft的Word文档格式复杂,直接读取并不简单,因此通常需要借助第三方库来实现。在给定的描述中提到了几种常用的库,包括Apache POI、java2Word、jacob和iText。 1. **Apache POI**:Apache POI...

    C#读取PDF文件内容 按每页生成文本对象(只读取文字版PDF)

    以下是一个简单的C#代码示例,展示如何打开PDF文件并按页读取内容: ```csharp using Spire.Pdf; using System.Collections.Generic; using Newtonsoft.Json; public class PdfPageText { public int PageNumber ...

    ImageStone.rar_Png jpg读取_bmp png vc_jpg 格式读取_png保存_读取png

    - **图像保存**:与读取相对应,保存图像涉及到将内存中的图像数据转换为特定格式的文件,这可能需要应用特定的编码算法,如JPEG的有损压缩或PNG的无损压缩。 - **VC++6**:这是一个较老但经典的微软Visual C++开发...

    pdfbox.jar包,fontbox.jar包,读取pdf文档

    总的来说,PDFBox和FontBox是Java开发中处理PDF文档的强大工具,它们提供了全面的功能,能够满足从简单文本提取到复杂文档编辑的各种需求。对于需要处理PDF的Java项目,这两个库是不可或缺的资源。

    安卓使用poi读取及修改word文档

    在Android平台上,通常我们会使用Java库来处理与Microsoft Office文档相关的任务,如读取和修改Word文档。Apache POI是一个广泛使用的开源库,它允许开发者用纯Java代码操作微软的Office格式,包括Word(.doc)、...

    C#生成PDF 读取PDF文本内容 获取PDF内图片完整源码(调用第三方DLL)

    在.NET环境中,C#开发人员经常需要处理PDF文档,包括生成PDF、读取PDF文本以及提取PDF中的图像。为了实现这些功能,通常会借助于第三方库或DLL,因为.NET框架本身并不内置完整的PDF处理能力。本教程将详细介绍如何...

    从word文件里面读取内容,已测试,修改word路径后即可运行

    他们需要创建一个输出流对象,指向.txt文件,然后将从Word文档读取的文本写入这个输出流。 总结起来,这个压缩包中的程序涉及了以下知识点: 1. MFC库的使用,包括MFC提供的窗口和控件类。 2. COM组件编程,特别是...

Global site tag (gtag.js) - Google Analytics