1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace ConsoleApplication4
  9. {
  10. class Program
  11. {
  12. static void Main(string[] args)
  13. {
  14. //字符串截取(Substring)
  15. string stroo = "我爱中华人民共和国";
  16. stroo.Substring(, ); //参数1:开始截取的索引(从0开始) 参数2:截取的长度
  17.  
  18. string str = "wan";
  19. // // 字符串以什么开头,以什么结尾: 返回true 或者false
  20. str.StartsWith("我");
  21. str.EndsWith("国");
  22.  
  23. //字符串分割
  24. str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
  25.  
  26. //比较 忽略大小写
  27. str.Equals("an", StringComparison.OrdinalIgnoreCase);
  28.  
  29. //字符串数组插入
  30. string[] sarr = { "qwe", "asd", "zxc" };
  31. var s = string.Join("|", sarr);//string静态方法
  32. Console.WriteLine(s); //qwe|asd|zxc
  33.  
  34. //2 ArrayList 可添加数据
  35. // Hashtable 键值可以为任何形式的数据类型
  36. // Dictionary
  37. Dictionary<int, string> dic = new Dictionary<int, string>(); //涉及到键必须为int类型,值必须为string类型
  38. dic.Add(, "张三"); //添加数据
  39. Console.WriteLine(dic[]); //张三
  40. dic.Remove(); //传进来的是键标
  41. dic.Clear(); //清空集合
  42.  
  43. // List泛型集合(常用):
  44. List<int> list = new List<int>(); //声明
  45. list.Add(); //添加数据
  46. list.AddRange(, , , , , , }); //添加集合
  47. list.RemoveAt(); //索引下标从0开始
  48. list.RemoveRange(, ); //从索引2开始,移除4个元素
  49. list.Clear();//清空集合
  50. //Contains(是否包含) FirstOrDefault:第一个元素,.ToArray :转换为数组 等
  51.  
  52. //a:专门操作路径的path类 :(静态类)
  53. //复制代码
  54. string str2 = @"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\es\C#.txt";
  55. Path.GetFileName(str2); //获取文件名
  56. Path.GetFileNameWithoutExtension(str2); //没有扩展名的文件名
  57. Path.GetExtension(str2); //获取文件扩展名
  58. Path.GetFullPath(str2); //获取文件绝对路径
  59. Path.Combine(@"c:\a\b\c\", @"f\.avi"); //把两个路径融合
  60. Path.GetDirectoryName(str2); //获取路径名,没有文件名
  61.  
  62. //b:File读写数据
  63. //(1):以字节形式读取:
  64.  
  65. byte[] bte = File.ReadAllBytes(@"C:\Users\kun_zhuang\Desktop\资源公共字段.txt");
  66. string str3 = Encoding.Default.GetString(bte);
  67. //转换为字符串(最适用) 还有:UTF8Encoding.Default.GetString(bte)、Encoding.GetEncoding("GB2312").GetString(bte)
  68. // 、ASCIIEncoding.Default.GetString(bte) 等多种编码格式
  69.  
  70. //、、逐行读取
  71. string[] st = File.ReadAllLines(@"C:\Users\kun_zhuang\Desktop\资源公共字段.txt", Encoding.Default); //逐行读取内容 遍历数组 可对每一行进行操作
  72.  
  73. string str4 = File.ReadAllText(@"C:\Users\kun_zhuang\Desktop\资源公共字段.txt", Encoding.Default); //以文本形式读取 对于图片类,视频文件类 等其他类 不适用
  74.  
  75. //以字节形式写数据
  76.  
  77. byte[] by3 = Encoding.Default.GetBytes(str);
  78. File.WriteAllBytes(@"C:\Users\kun_zhuang\Desktop\new3.txt", by3);
  79.  
  80. //以数组的形式逐行写数据
  81. //
  82. string[] strArray = { "w", "a", "n1bz" };
  83. File.WriteAllLines(@"C:\Users\kun_zhuang\Desktop\new3.txt", strArray); //strArray为定义的数组
  84.  
  85. //整体写入
  86. File.WriteAllText(@"C:\Users\kun_zhuang\Desktop\new3.txt", str); //整体写入,最常用的方式 str为字符串
  87.  
  88. File.AppendAllText(@"C:\Users\kun_zhuang\Desktop\new3.txt", str);
  89. File.AppendAllLines(@"C:\Users\kun_zhuang\Desktop\new3.txt", strArray); //逐行追加
  90.  
  91. //FileStream文件流
  92. //读取文件:
  93.  
  94. //复制代码
  95. using (FileStream fread = new FileStream(@"C:\Users\kun_zhuang\Desktop\new3.txt", FileMode.OpenOrCreate, FileAccess.Read))
  96. {
  97. * * ];
  98. , buffer.Length); //返回当前读取的有效字节数
  99. , r); //解码
  100. }
  101. //参数①: 针对哪一个文件 写文件路径
  102. //参数②: 要对此文件进行怎样的操作
  103. //参数③: 要对此文件的数据进行怎样的操作
  104.  
  105. //(2):写文件:
  106. using (FileStream fwrite = new FileStream(@"C:\Users\kun_zhuang\Desktop\文件流.txt", FileMode.OpenOrCreate, FileAccess.Write))
  107. {
  108. byte[] buffer = Encoding.Default.GetBytes(str); //str为字符串
  109. fwrite.Write(buffer, , buffer.Length);
  110. }
  111.  
  112. // (3):复制文件:
  113.  
  114. ////复制代码
  115. string path = @"C:\Users\kun_zhuang\Desktop\文件流.txt";
  116. string newpath = @"C:\Users\kun_zhuang\Desktop\文件流2.txt";
  117. //创建一个负责读取的文件流
  118. using (FileStream fread = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))
  119. {
  120. //创建一个写入文件的文件流
  121. using (FileStream fwrite = new FileStream(newpath, FileMode.OpenOrCreate, FileAccess.Write))
  122. {
  123. * * ];
  124. while (true) //文件过大,可能一次读写不完,需要循环
  125. {
  126. , buffer.Length);
  127. ) //当读取不到字节时,说明已经完毕,则跳出循环
  128. {
  129. break;
  130. }
  131. else
  132. fwrite.Write(buffer, , r);
  133. }
  134. }
  135. Console.WriteLine("复制成功!");
  136. }
  137. //为什么使用using? 当一个类最终继承IDisposable 这个接口,就需要到释放资源空间,用using就可以自动释放资源空间,提高效率,减少代码量
  138.  
  139. // d:StreamReader和StreamWriter
  140.  
  141. //复制代码
  142. //读取
  143. using (StreamReader sRead = new StreamReader(@"C:\Users\kun_zhuang\Desktop\文件流2.txt", Encoding.Default))
  144. {
  145. while (!sRead.EndOfStream) //指示当前流的位置是否为结尾
  146. {
  147. Console.WriteLine(sRead.ReadLine());
  148. }
  149. }
  150.  
  151. //写入
  152. using (StreamWriter stwr = new StreamWriter(@"C:\Users\kun_zhuang\Desktop\文件流2.txt", true, Encoding.Default))
  153. {
  154. stwr.Write(str);
  155. }
  156.  
  157. //小结:两种方式都可以对文件进行读写操作,相对Stream用的比较多一点,用法很简单,根据write 或者read的方法,传入相应的参数即可。
  158. //总结:c#有很大一部分基础语法,最重要的会使用微软封装的一些类,一些方法。看这些类的方法的重载。如果有vs的那些语言包,都可以看每一个方法重载是做什么的,然后相应的使用。传入相应需要的参数,看返回值。
  159. }
  160. }
  161. }

C# 基础 字符串 集合 文件操作的更多相关文章

  1. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  2. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  3. Python基础2 列表 元祖 字符串 字典 集合 文件操作 -DAY2

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  4. Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作

    1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...

  5. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  6. Node基础篇(文件操作)

    文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...

  7. python基础dict,集合,文件

    字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的  天生去重增 ...

  8. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  9. Day2-Python基础2---集合和文件操作

    一.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 s = set([1,4,5,7,3, ...

随机推荐

  1. Kettle源码学习(一)——把Kettle项目跑起来

    kettle(pentaho data integration),是一款开源的C/S版的ETL工具,最近打算学习一下kettle源码,并自己写一个mini kettle,并改造成基于事件触发的流处理模 ...

  2. 利用beautifulsoup下载网页html代码中的css, js, img文件并保存

    # -*- coding:utf-8 -*- from bs4 import BeautifulSoup as BS import urllib.request as rqst import os u ...

  3. WebSocket 搭建简单聊天网站

    HTML5 WebSocket WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. 在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏 ...

  4. 部署k8s时容器中ping不通

    192.168.42.120 | UNREACHABLE! => {    "changed": false,     "msg": "Fail ...

  5. VueRouter爬坑第三篇-嵌套路由

    VueRouter系列的文章示例编写时,项目是使用vue-cli脚手架搭建. 项目搭建的步骤和项目目录专门写了一篇文章:点击这里进行传送 后续VueRouter系列的文章的示例编写均基于该项目环境. ...

  6. SpringCloud简历模板

    项目三:智慧生鲜(SpringCloud) 开发周期:5个月项目介绍:该项目是一个基于微服分布式的生鲜电商网站,主要模块有前台:用户模块.商品模块.购物车模块.订单模块.支付模块.抢购模块.后台:权限 ...

  7. Vue.js 使用 $refs 定位 DOM 出现 undefined

    找到这篇文章,写得不错,记录一下.https://www.jianshu.com/p/090937a480b5

  8. CentOS7+Python3.6利用web.py库进行微信公众平台服务器简易配置,token验证

    1.安装配置Python CentOS7 自带 Python2.7, 我用的是Python3.6.5,需要CentOS7安装配置Python3并和Python2共存的,请看以下教程: CentOS7安 ...

  9. vue中打包之后的dist文件不放在服务器的根目录下

    在工作当中,我使用webpack打包的dist,由于管理的问题,无法被放在服务器根目录下 ,但在目前的vue配置,dist不放在根目录下,访问页面会成为一片空白,于是便要对vue框架的config进行 ...

  10. C语言Ⅰ博客作业10

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097 我在这个课程的 ...