using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace StreamWrite和StreamRead的使用
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
MessageBox.Show("写入文本内容不可为空");
else
{
saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if(saveFileDialog1.ShowDialog()==DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, true);
sw.WriteLine(textBox1.Text) ;
sw.Close();
textBox1.Clear();
//textBox1.Text = string.Empty;
}
}
}
private void button2_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
textBox1.Text = string.Empty;
StreamReader sr = new StreamReader(openFileDialog1.FileName);
textBox1.Text = sr.ReadToEnd();
sr.Close();
}
}
private void button写入二进制_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
MessageBox.Show("写入数据不可为空");
else
{
saveFileDialog1.Filter = "二进制文件(*.dat)|*.dat";
if(saveFileDialog1.ShowDialog()==DialogResult.OK)
{
FileStream mystream = new FileStream(saveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
BinaryWriter mywrite = new BinaryWriter(mystream);
mywrite.Write(textBox1.Text);
mywrite.Close();
mystream.Close();
textBox1.Text = string.Empty;
}
}
}
private void button读取二进制_Click(object sender, EventArgs e)
{
openFileDialog1.Filter= "二进制文件(*.dat)|*.dat";
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
textBox1.Text = string.Empty;
FileStream myStream = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.ReadWrite);
BinaryReader myReader = new BinaryReader(myStream);//使用FileStream对象实例化BinaryReader二进制写入流对象
if (myReader.PeekChar() != -1)
{
textBox1.Text = Convert.ToString(myReader.ReadInt32());
}
myReader.Close(); //关闭当前二进制写入流
myStream.Close(); //关闭当前文件流
}
}
}
}