C#面向对象13 文件类操作 Path/File/FileStream
1.path
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO; namespace path
{
class Program
{
static void Main(string[] args)
{
//Path类专门用来处理路径的!
string str = @"C:\tmuninst.ini";
//获取文件名
Console.WriteLine(Path.GetFileName(str));
//获取文件名,但不包括扩展名
Console.WriteLine(Path.GetFileNameWithoutExtension(str));
//获得文件扩展名
Console.WriteLine(Path.GetExtension(str));
//获得文件所在的文件夹的名称
Console.WriteLine(Path.GetDirectoryName(str));
//获取文件的全路径
Console.WriteLine(Path.GetFullPath(str));
//连接两个字符串作为路径
Console.WriteLine(Path.Combine(@"c:\b\","c.txt")); Console.ReadKey();
}
}
}
2.file类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO; namespace file
{
class Program
{
static void Main(string[] args)
{
//创建文件
//File.Create(@"C:\Users\alexx.zhang\Desktop\123456789.txt");
//删除
File.Delete(@"C:\Users\alexx.zhang\Desktop\123456789.txt");
//复制
//File.Copy(@"",@"");
//判断文件是否存在
if(!File.Exists(@"C:\Users\alexx.zhang\Desktop\123456789.txt"))
{
File.Create(@"C:\Users\alexx.zhang\Desktop\123456789.txt");
Console.WriteLine("OK");
}
else
{
Console.WriteLine("Exists");
}
Console.ReadKey();
}
}
}
**ReadAllBytes/WriteAllBytes
//读 ReadAllBytes
byte[] buffer= File.ReadAllBytes(@"C:\Users\alexx.zhang\Desktop\123456789.txt");
//将字节数组中的每个元素都要按照我们指定的编码格式解码成字符串
//UTF-8 GB2312K GBK Unicode
string s = Encoding.GetEncoding("GBK").GetString(buffer);
//string ss = Encoding.Default.GetString(buffer);
Console.WriteLine(s); //写 WriteAllBytes
string str = "凄凄切切";
byte[] buffer1 = Encoding.GetEncoding("GBK").GetBytes(str);
File.WriteAllBytes(@"C:\Users\alexx.zhang\Desktop\123456789.txt",buffer1); Console.ReadKey();
**File.ReadAllLines
string [] array= File.ReadAllLines(@"C:\Users\alexx.zhang\Desktop\123456789.txt", Encoding.GetEncoding("GBK"));
foreach (var item in array)
{
Console.WriteLine(item);
}
**File.ReadAllText
string str= File.ReadAllText(@"C:\Users\alexx.zhang\Desktop\123456789.txt", Encoding.GetEncoding("GBK"));
Console.WriteLine(str);
**File.WriteAllLines/File.WriteAllText
string [] strs={"","",""};
File.WriteAllLines(@"C:\Users\alexx.zhang\Desktop\123456789.txt", strs);
string str="";
File.WriteAllText(@"C:\Users\alexx.zhang\Desktop\1234567890.txt", str);
**File.AppendAllLines
**File.AppendAllText
**File.AppendText
****File类只能读取小文件!,因为它是一下子读取,占内存
3.编码

4.FileStream文件流
1)FileStream 操作字节的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO; namespace FileStream
{
class Program
{
static void Main(string[] args)
{
//FileStream 操作字节的 //***读取数据
//构造函数:路径,针对文件的操作,针对文件的数据的操作
System.IO.FileStream fs = new System.IO.FileStream(@"C:\Users\alexx.zhang\Desktop\123.txt", FileMode.OpenOrCreate,FileAccess.Read);
byte[] buffer = new byte[ * * ];
//返回本次实际读取到的有效字节数
int i= fs.Read(buffer, , buffer.Length);
//将字节数组中每个元素按照指定的编码格式编译成字符
string s = Encoding.Default.GetString(buffer,,i);
//关闭流
fs.Close();
//释放流所占用的资源
fs.Dispose();
Console.WriteLine(s); //***写入数据
using (System.IO.FileStream fss = new System.IO.FileStream(@"C:\Users\alexx.zhang\Desktop\123.txt", FileMode.OpenOrCreate, FileAccess.Write))
{
string str = "898989898985222232255002..22256655";
byte[] buffers = Encoding.Default.GetBytes(str);
fss.Write(buffers, , buffers.Length);
} Console.ReadKey();
}
}
}
2)StreamReader,StreamWriter 操作字符的
C#面向对象13 文件类操作 Path/File/FileStream的更多相关文章
- java 文件类操作(转载)
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...
- Go path/filepath文件路径操作
本文:https://books.studygolang.com/The-Golang-Standard-Library-by-Example/chapter06/06.2.html path:htt ...
- Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe
目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...
- [No000083]文件与文件夹操作
#region Folder option 文件夹操作 /// <summary> /// 指定目录是否存在 /// </summary> /// <param name ...
- delphi 文件夹操作
文件的拖放和打开拖拽 user shellapi type TForm1 = class(TForm) ListView1: TListView; procedure FormCreate(Sende ...
- 9.2 Go 文件IO操作
9.2 Go 文件IO操作 1.1.1. bufio包 带有缓冲区的IO读写操作,用于读写文件,以及读取键盘输入 func main() { //NewReader返回一个结构体对象指针 reader ...
- C#文件操作常用相关类(Directory类、File类、Path类)
1.文件操作常用相关类 1)File //操作文件,静态类,对文件整体操作.拷贝.删除.剪切等 2)Directory //操作目录(文件夹),静态类 3)DirectoryInfo //文件夹的一个 ...
- 使用File类、StreamRead和StreamWrite读写数据、以及Path类操作文件路径和Directory
1.File类的概念: File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量 ...
- C#基础精华04(文件流,文件操作,File、Directory、Path,Directory)
文件流 FileStream 可读可写 大文件 释放 StreamReader 读取 释放 StreamWriter 写入 释放 using 中释放 File 可读可写 小文件 操作文 ...
随机推荐
- django-admin 配置
本节讲django-admin配置方法: 1.在工程配置文件中(settings.py)中启用admin组件.确保有如下两行配置: 2.执行数据库迁移的命令,确保对应的表在数据库中已经添加了 #pyt ...
- vscode 记住git用户密码
一.选中文件-->首选项-->设置,搜索git,在setting.json中添加 "git.path":"/bin/git.exe" 二.git b ...
- [转]MySQL查询语句执行过程详解
Mysql查询语句执行原理 数据库查询语句如何执行?语法分析:首先进行语法分析,对使用sql表示的查询进行语法分析,生成查询语法分析树.语义检查:检查sql中所涉及的对象以及是否在数据库中存在,用户是 ...
- parted对大容量磁盘进行分区
Linux系统中MBR与GPT的区别 主引导记录(Master Boot Record , MBR)是指一个存储设备的开头 512 字节.它包含操作系统的引导器和存储设备的分区表. 全局唯一标识分区表 ...
- 你应该知道的 MySQL 的锁
背景 数据库的锁是在多线程高并发的情况下用来保证数据稳定性和一致性的一种机制.MySQL 根据底层存储引擎的不同,锁的支持粒度和实现机制也不同.MyISAM 只支持表锁,InnoDB 支持行锁和表锁. ...
- flask(2.0)
目录 一. Flask基础(一) 1.Flask启动 2.路由 3.Response 4.Request 5.Jinja2 6.session 二.Flask基础(二) 1.路由配置 (1)metho ...
- python-Web-django-图表统计
下载highchart插件包,放在static下 <script src="/static/highcharts/highcharts.js"></script& ...
- MariaDB知识点总结03--从主+多主集群
一.从主架构 1.从主复制原理 从库生成两个线程,一个I/O线程,一个SQL线程: i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中:主库会生 ...
- Pulse Secure 任意文件读取(CVE-2019-11510)漏洞
漏洞分析 我们可以通过CVE-2019-11510这个未授权的任意文件读取漏洞把以下文件下载回来. /etc/passwd /etc/hosts /data/runtime/mtmp/system / ...
- python 配合 es 查询数据
1.python脚本 [root@do1cloud03 ~]# cat python-es.py #!/usr/bin/env python3 from elasticsearch import El ...