1个回答
2013-10-18
展开全部
写到文件里的方法using System.Text;using System.IO;//要添加这个FileStream fs;//先定义全局的文件流 private void btnSaveToFiles_Click(object sender, EventArgs e) { string Datas; Datas = this.txtName.Text + " " + this.txtXin.Text + " " + this.txtClass.Text + " " + this.txtGrade.Text; //这个是要写进文件的内容 try { fs = File.Create("pds.txt");//2再定义创建的路径 Byte[] info = new UTF8Encoding(true).GetBytes(Datas);//3将要读内容转成UTF8形式的数组 fs.Write(info, 0, info.Length);//1//流.Write(Byte的字节数组,从第0个开始读,读的长度用Lenth提取长度); fs.Flush();//4一定要有这个 fs.Close();//5要关闭 } catch (Exception) { MessageBox.Show("正在读取此文件,不能现在设置"); } 从文件里读到窗体里的方法FileStream fs;//定义一个全局文件流 //相当于先将文件读成流,1,2,3就是用File.OpenRead将文本读成byte(小写)的数组arr//4相当于将读出来的数组arr一下子转成一个字符串数组 fs = File.OpenRead("pds.txt");//2 //上面也可以用这句代替,读和写都可以用这句fs = new FileStream("pds.txt",FileMode.OpenOrCreate); byte[] arr = new byte[fs.Length];//3 fs.Read(arr,0,arr.Length);//1先记住这个格式,相当于将文件流读成数组arr,Byte的数组,它有返回值为整形 string date = new UTF8Encoding(true).GetString(arr);//4此句相当于将arr转成UTF8格式的字符串GetString这个方法名比较主要 string[] arrSplit = date.Split(' ');//5输出读取以空格字符分格的文本,是单引号 lblNameValue.Text = arrSplit[0];//输出 lblXinValue.Text = arrSplit[1]; lblClassValue.Text = arrSplit[2]; lblGradeValue.Text = arrSplit[3]; fs.Close();//6流必须关闭二进制读取FileStream fs;//在全局的位置定义一个全局的流fs = new FileStream("pds.txt",FileMode.Open);//读取到流 BinaryReader obj = new BinaryReader(fs);//二进制读取 string tt = null; try//以下是输出 { for (int i = 0; i < 20; i++){ tt=tt+obj.ReadChar().ToString();//输出 } // lblOutPut.Text = tt; } catch (EndOfStreamException eof)//读取读不了了,引发异常 { MessageBox.Show("已到文件尾"+eof); } finally { fs.Close(); fs.Dispose(); lblOutPut.Text = tt;//输出到文本框里 }读写内存流 FileStream fs =new FileStream("pds.txt",FileMode.OpenOrCreate);//1 BufferedStream objBufferedStream = new BufferedStream(fs);//2 //以上两句是定义读 byte[] buffer = new byte[1024];//写义缓冲大小为1024的数组 FileStream fs2 = new FileStream("pds2.txt", FileMode.OpenOrCreate); BufferedStream 从内存写入到文件 = new BufferedStream(fs2); //以上两句是定义写入 int i; while((i=objBufferedStream.Read(buffer,0,1024))>0){ //3 从内存写入到文件.Write(buffer,0,i); MessageBox.Show("i 现在等于:"+i+" 内存写入文件成功"); }//注意这个循环,i相当于缓冲的长度 objBufferedStream.Close(); fs.Close(); 从内存写入到文件.Flush();//缓冲区清空 从内存写入到文件.Close();//注意关闭顺序,先关缓冲内存,再关读取流 fs2.Close();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询