C# 基础 字符串 集合 文件操作
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { //字符串截取(Substring) string stroo = "我爱中华人民共和国"; stroo.Substring(, ); //参数1:开始截取的索引(从0开始) 参数2:截取的长度 string str = "wan"; // // 字符串以什么开头,以什么结尾: 返回true 或者false str.StartsWith("我"); str.EndsWith("国"); //字符串分割 str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); //比较 忽略大小写 str.Equals("an", StringComparison.OrdinalIgnoreCase); //字符串数组插入 string[] sarr = { "qwe", "asd", "zxc" }; var s = string.Join("|", sarr);//string静态方法 Console.WriteLine(s); //qwe|asd|zxc //2 ArrayList 可添加数据 // Hashtable 键值可以为任何形式的数据类型 // Dictionary Dictionary<int, string> dic = new Dictionary<int, string>(); //涉及到键必须为int类型,值必须为string类型 dic.Add(, "张三"); //添加数据 Console.WriteLine(dic[]); //张三 dic.Remove(); //传进来的是键标 dic.Clear(); //清空集合 // List泛型集合(常用): List<int> list = new List<int>(); //声明 list.Add(); //添加数据 list.AddRange(, , , , , , }); //添加集合 list.RemoveAt(); //索引下标从0开始 list.RemoveRange(, ); //从索引2开始,移除4个元素 list.Clear();//清空集合 //Contains(是否包含) FirstOrDefault:第一个元素,.ToArray :转换为数组 等 //a:专门操作路径的path类 :(静态类) //复制代码 string str2 = @"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\es\C#.txt"; Path.GetFileName(str2); //获取文件名 Path.GetFileNameWithoutExtension(str2); //没有扩展名的文件名 Path.GetExtension(str2); //获取文件扩展名 Path.GetFullPath(str2); //获取文件绝对路径 Path.Combine(@"c:\a\b\c\", @"f\.avi"); //把两个路径融合 Path.GetDirectoryName(str2); //获取路径名,没有文件名 //b:File读写数据 //(1):以字节形式读取: byte[] bte = File.ReadAllBytes(@"C:\Users\kun_zhuang\Desktop\资源公共字段.txt"); string str3 = Encoding.Default.GetString(bte); //转换为字符串(最适用) 还有:UTF8Encoding.Default.GetString(bte)、Encoding.GetEncoding("GB2312").GetString(bte) // 、ASCIIEncoding.Default.GetString(bte) 等多种编码格式 //、、逐行读取 string[] st = File.ReadAllLines(@"C:\Users\kun_zhuang\Desktop\资源公共字段.txt", Encoding.Default); //逐行读取内容 遍历数组 可对每一行进行操作 string str4 = File.ReadAllText(@"C:\Users\kun_zhuang\Desktop\资源公共字段.txt", Encoding.Default); //以文本形式读取 对于图片类,视频文件类 等其他类 不适用 //以字节形式写数据 byte[] by3 = Encoding.Default.GetBytes(str); File.WriteAllBytes(@"C:\Users\kun_zhuang\Desktop\new3.txt", by3); //以数组的形式逐行写数据 // string[] strArray = { "w", "a", "n1bz" }; File.WriteAllLines(@"C:\Users\kun_zhuang\Desktop\new3.txt", strArray); //strArray为定义的数组 //整体写入 File.WriteAllText(@"C:\Users\kun_zhuang\Desktop\new3.txt", str); //整体写入,最常用的方式 str为字符串 File.AppendAllText(@"C:\Users\kun_zhuang\Desktop\new3.txt", str); File.AppendAllLines(@"C:\Users\kun_zhuang\Desktop\new3.txt", strArray); //逐行追加 //FileStream文件流 //读取文件: //复制代码 using (FileStream fread = new FileStream(@"C:\Users\kun_zhuang\Desktop\new3.txt", FileMode.OpenOrCreate, FileAccess.Read)) { * * ]; , buffer.Length); //返回当前读取的有效字节数 , r); //解码 } //参数①: 针对哪一个文件 写文件路径 //参数②: 要对此文件进行怎样的操作 //参数③: 要对此文件的数据进行怎样的操作 //(2):写文件: using (FileStream fwrite = new FileStream(@"C:\Users\kun_zhuang\Desktop\文件流.txt", FileMode.OpenOrCreate, FileAccess.Write)) { byte[] buffer = Encoding.Default.GetBytes(str); //str为字符串 fwrite.Write(buffer, , buffer.Length); } // (3):复制文件: ////复制代码 string path = @"C:\Users\kun_zhuang\Desktop\文件流.txt"; string newpath = @"C:\Users\kun_zhuang\Desktop\文件流2.txt"; //创建一个负责读取的文件流 using (FileStream fread = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read)) { //创建一个写入文件的文件流 using (FileStream fwrite = new FileStream(newpath, FileMode.OpenOrCreate, FileAccess.Write)) { * * ]; while (true) //文件过大,可能一次读写不完,需要循环 { , buffer.Length); ) //当读取不到字节时,说明已经完毕,则跳出循环 { break; } else fwrite.Write(buffer, , r); } } Console.WriteLine("复制成功!"); } //为什么使用using? 当一个类最终继承IDisposable 这个接口,就需要到释放资源空间,用using就可以自动释放资源空间,提高效率,减少代码量 // d:StreamReader和StreamWriter //复制代码 //读取 using (StreamReader sRead = new StreamReader(@"C:\Users\kun_zhuang\Desktop\文件流2.txt", Encoding.Default)) { while (!sRead.EndOfStream) //指示当前流的位置是否为结尾 { Console.WriteLine(sRead.ReadLine()); } } //写入 using (StreamWriter stwr = new StreamWriter(@"C:\Users\kun_zhuang\Desktop\文件流2.txt", true, Encoding.Default)) { stwr.Write(str); } //小结:两种方式都可以对文件进行读写操作,相对Stream用的比较多一点,用法很简单,根据write 或者read的方法,传入相应的参数即可。 //总结:c#有很大一部分基础语法,最重要的会使用微软封装的一些类,一些方法。看这些类的方法的重载。如果有vs的那些语言包,都可以看每一个方法重载是做什么的,然后相应的使用。传入相应需要的参数,看返回值。 } } }
C# 基础 字符串 集合 文件操作的更多相关文章
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- Python基础2 列表 元祖 字符串 字典 集合 文件操作 -DAY2
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作
1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- Node基础篇(文件操作)
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...
- python基础dict,集合,文件
字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的 天生去重增 ...
- python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
- Day2-Python基础2---集合和文件操作
一.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 s = set([1,4,5,7,3, ...
随机推荐
- 014-数据结构-树形结构-基数树、Patricia树、默克尔树、梅克尔帕特里夏树( Merkle Patricia Tree, MPT)
一.基数树 Radix树,即基数树,也称压缩前缀树,是一种提供key-value存储查找的数据结构.与Trie不同的是,它对Trie树进行了空间优化,只有一个子节点的中间节点将被压缩.同样的,Radi ...
- java.lang.RuntimeException: org.dom4j.DocumentException: 1 字节的 UTF-8 序列的字节 1 无效。
向一个XML文件写入出现异常 解决办法:使用记事本打开该XML文件,另存为,编码选择UTF-8 java.lang.RuntimeException: org.dom4j.DocumentExcept ...
- hive端建表中文注释乱码
背景:mysql编码是utf-8,mysql中建库建表中文显示都正常,但在hive窗口中建表时字段中文注释均乱码的问题. 问题:hive中建表后字段中文注释显示异常. 1. 定位 mysql 端问题 ...
- confilicts
confilicts 矛盾; 冲突 安装软件提升这个表示安装软件之间的冲突,需要卸载冲突的软件再安装
- 【POJ - 3045】Cow Acrobats (贪心)
Cow Acrobats Descriptions 农夫的N只牛(1<=n<=50,000)决定练习特技表演. 特技表演如下:站在对方的头顶上,形成一个垂直的高度. 每头牛都有重量(1 & ...
- Data Exfiltration with DNS in MSSQL SQLi attacks
DNS解析过程 DNS解析过程 DNS 查询的过程如下图1所示. 图1 文字举例说明: 假定浏览器想知道域名xprp8i.dnslog.cn的IP地址. 1.浏览器先向本地DNS服务器进行递归查询. ...
- CSRF类型
按照请求类型来区分.分为:GET类型和POST类型 按照攻击类型分类,CSRF可分为:HTML CSRF攻击,JSOM HiJacking攻击和FIash CSRF攻击 HTML CSRF攻击 HTM ...
- mac编译openJDK8
买了<深入理解Java虚拟机> 周志明著这本书一直没有看,我们的程序都用JVM在跑,所以学习java必须掌握JVM,才能理解我们对象到底干嘛了. 1.为什么要编译JDK 想要一探JDK ...
- springboot整合es客户端操作elasticsearch(五)
springboot整合es客户端操作elasticsearch的总结: 客户端可以进行可以对所有文档进行查询,就是不加任何条件: SearchRequest searchRequest = new ...
- A New 3-bit Programming Algorithm using SLC-to-TLC Migration for 8MBs High Performance TLC NAND Flash Memory
背景 1.2012年左右的数据SLC.MLC.TLC闪存芯片的区别:SLC = Single-Level Cell ,即1bit/cell,速度快寿命长,价格超贵(约MLC 3倍以上的价格),约10万 ...