简单的记事本功能实现代码--(流读取器)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的记事本功能实现代码--(流读取器)相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;//导入命名空间--流

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Cut();
        }

        private void 复制CToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Copy();
        }

        private void 粘贴PToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Paste();
        }

        private void 全选AToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.SelectAll();
        }

        private void 撤消UToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox1.Undo();
        }

        private string FileName;

        private void 打开OToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //创建打开文件对话框:帮我们去硬盘上查找文件路径
           // OpenFileDialog openfiledialog1 = new OpenFileDialog();//创建对象
            openFileDialog1.Filter = "文本文件|*.txt|所有文件|*.*";//过滤
            DialogResult isok = openFileDialog1.ShowDialog();//显示对话框
            if (isok == DialogResult.OK)//通过对话框的返回值来判断是否点的打开按钮
            { 
                //获取文件路径
                string filename = openFileDialog1.FileName;
                FileName = filename;
                //根据文件路径去读取文件:使用流来读取
                //FileStream fs = new FileStream(filename,FileMode.Open);
                //StreamReader sr = new StreamReader(fs,Encoding.Default);//流读取器--Encoding.Default 选择默认编码
                StreamReader sr = new StreamReader(filename,Encoding.Default);
                string text = sr.ReadToEnd();//读取
                sr.Close();
               // fs.Close();

                textBox1.Text = text;
            }
        }

        private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (FileName != "")
            {
                FileStream fs = new FileStream(FileName, FileMode.Create);
                StreamWriter sw = new StreamWriter(fs, Encoding.Default);//流写入
                sw.Write(textBox1.Text);
                sw.Close();
                fs.Close();
            }
            else
            {
                SaveFileDialog savefiledialog1 = new SaveFileDialog();
                savefiledialog1.Filter = "文本文件|*.txt|所有文件|*.*";
                DialogResult isok = savefiledialog1.ShowDialog();
                if (isok == DialogResult.OK)
                {
                    string filename = savefiledialog1.FileName;

                    FileStream fs = new FileStream(filename, FileMode.Create);
                    StreamWriter sw = new StreamWriter(fs, Encoding.Default);//流写入
                    sw.Write(textBox1.Text);
                    sw.Close();
                    fs.Close();
                }
            }
        }

        private void 退出XToolStripMenuItem_Click(object sender, EventArgs e)
        {

            this.Close();
        }

        private void 查找ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2(textBox1.SelectedText,this);
            f.Owner = this;
            f.Show();
        }


        private void 替换ToolStripMenuItem_Click(object sender, EventArgs e)
        {
           
        }

        private void 打印预览VToolStripMenuItem_Click(object sender, EventArgs e)
        {
            printPreviewDialog1.ShowDialog();
        }

        private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)
        {
            printDialog1.Document = printDocument1;//指定打印对话框所对应的打印对象
            DialogResult isok = printDialog1.ShowDialog();
            if (isok == DialogResult.OK)
            {
                printDocument1.Print();//打印文档
            }
        }

        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            //设置打印内容
            Font f = new System.Drawing.Font("宋体",6);
            e.Graphics.DrawString(textBox1.Text,f,System.Drawing.Brushes.Black,new PointF(0,0));

        }
    }
}

使用流读取器注意命名空间的引用

以上是关于简单的记事本功能实现代码--(流读取器)的主要内容,如果未能解决你的问题,请参考以下文章

IO编程__缓冲字符流__应用__记事本的打开保存功能

进行简单功能性查询的简单代码

java题 任选一个文件,使用文件输入流,将其数据读取出来,并打印到控制台!! 代码简单能够有注释

如何用VB做一个简单计算器 要求实现加减乘除乘方开方功能

java怎么实现读取一个文件,拿到二进制流

牛客-小C的记事本——偏业务的代码实现