C# 文件流操作
时间:2022-07-23
本文章向大家介绍C# 文件流操作,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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 WindowsFormsApp10
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
if (!Directory.Exists(Environment.CurrentDirectory + "\bin"))
Directory.CreateDirectory(Environment.CurrentDirectory + "\bin");
// FileStream f = File.Create(Environment.CurrentDirectory + "\bin\mydata.bin");
// f.Close();
// f.Dispose();
if (!File.Exists(Environment.CurrentDirectory + "\bin\mydata.bin"))
File.Create(Environment.CurrentDirectory + "\bin\mydata.bin");
}
private void writerFile(byte[] array, string strPath)
{
//string content = this.txtContent.Text.ToString();
if (string.IsNullOrEmpty(strPath))
{
return;
}
//将string转为byte数组
//byte[] array = Encoding.UTF8.GetBytes(content);
//string path = Server.MapPath("/test.txt");
//创建一个文件流
FileStream fs = new FileStream(strPath, FileMode.Create);
//将byte数组写入文件中
fs.Write(array, 0, array.Length);
//所有流类型都要关闭流,否则会出现内存泄露问题
fs.Close();
//Response.Write("保存文件成功");
}
private void button1_Click(object sender, EventArgs e)
{
Byte[] recv = new Byte[] { 0x01, 0x02, 0x03 };
writerFile(recv, Environment.CurrentDirectory + "\bin\mydata.bin");
MessageBox.Show("数据写入完成!");
}
}
}
做如下修改:
private void Form1_Load(object sender, EventArgs e)
{
if (!Directory.Exists(Environment.CurrentDirectory + "\bin"))
Directory.CreateDirectory(Environment.CurrentDirectory + "\bin");
FileStream f = File.Create(Environment.CurrentDirectory + "\bin\mydata.bin");
f.Close();
f.Dispose();
//if (!File.Exists(Environment.CurrentDirectory + "\bin\mydata.bin"))
//File.Create(Environment.CurrentDirectory + "\bin\mydata.bin");
}
运行结果:
文件写入:
if (!Directory.Exists(Environment.CurrentDirectory + "\bin"))
Directory.CreateDirectory(Environment.CurrentDirectory + "\bin");
if (!File.Exists(Environment.CurrentDirectory + "\bin\mydata.bin"))
File.Create(Environment.CurrentDirectory + "\bin\mydata.bin");
lock (ThreadLock)
{
FileStream fs = new FileStream(Environment.CurrentDirectory + "\bin\mydata.bin", FileMode.Append,FileAccess.Write);//FileAccess.Write必须的
fs.Write(recv, 0, recv.Length);
fs.Close();
fs.Dispose();
}
- 国外大学自办星际赛事 鼓励学生自制AI来对战
- linux中的重要目录
- Mysql-2-数据库基础
- Shell-4-让文本飞
- Java程序员的日常——存储过程知识普及
- Java程序员的日常—— 基于类的策略模式、List<?>与List、泛型编译警告、同比和环比
- Shell-3-文件之名
- Mybatis文档阅读笔记(明日继续更新...)
- Java程序员的日常——SpringMVC+Mybatis开发流程、推荐系统
- 2017外媒看中国:会让你吃惊的中国自动驾驶
- Java程序员的日常—— POI与JDBC、Mockmvc与单元测试
- Shell-2-命令之乐
- Bash Shell 小试牛刀
- 计算机网络概述
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- WebRTC 入门指南
- 【DB笔试面试844】在Oracle中,tnsnames.ora文件的作用是什么?
- Spring 基于注解(annotation)的配置之@Qualifier注解
- Spring 基于设值函数的依赖注入
- Spring 基于构造函数的依赖注入
- 绕过卡巴进程保护的一些总结
- Loki | 数据过期自动删除策略设计
- 【短道速滑二】古老的基于亮度平均值的自动Gamma校正算法。
- Docker-Compose基础与实战,看这一篇就够了
- 干货-python与安全(一)入门简介
- 怎么在vue的style标签里面使用变量?
- 幼儿园EasyNVR能力层安防监控平台调用视频直播流报404错误解决方案
- C# WinForm捕获全局异常
- 新时代渗透思路!微服务下的信息收集Ⅱ
- 【STM32F407开发板用户手册】第31章 STM32F407的SPI总线基础知识和HAL库API