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 可读可写 小文件 操作文 ...
随机推荐
- QT 多线程程序设计 -互斥
QT通过三种形式提供了对线程的支持.它们分别是,一.平台无关的线程类,二.线程安全的事件投递,三.跨线程的信号-槽连接.这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线程编 ...
- vga转HDMI与hdmi转VGA区别
- react 闲谈
从事前端一段时间了,公司用的框架都是vue,但是不知为何对react却情有独钟,这是不是所谓的吃着碗里的看着锅里的 哈哈哈 从头好好总结下react吧 小白一个 大神勿喷 瞎说一 react是由两部分 ...
- centos7修改默认启动模式(图形/命令行)
centos7以后是这样的,7以前就是别的版本了 1.systemctl get-default命令获取当前模式 2.systemctl set-default graphical.target 修改 ...
- redis多实例与主从同步及高级特性(数据过期机制,持久化存储)
redis多实例 创建redis的存储目录 vim /usr/local/redis/conf/redis.conf #修改redis的配置文件 dir /data/redis/ #将存储路径配置修改 ...
- Handle的特点
handler可以分发Message对象和Runnable对象到主线程中, 每个Handler实例,都会绑定到创建他的线程中(一般是位于主线程), 也就是说Handler对象初始化后,就默认与对它初始 ...
- 03 MySQL之数据类型和运算符
01-数据类型 MySQL支持多种数据类型,主要有 数值类型.日期/时间类型和字符串类型. 1.1 整数类型 1.2 浮点数类型和定点数类型 单精度浮点类型(FLOAT)和双精度浮点类型 (DOUBL ...
- 基于Python使用scrapy-redis框架实现分布式爬虫
1.首先介绍一下:scrapy-redis框架 scrapy-redis:一个三方的基于redis的分布式爬虫框架,配合scrapy使用,让爬虫具有了分布式爬取的功能.github地址: https: ...
- 关于Server2008 R2日志的查看
Server 2008 r2通过 系统事件查看器 分析日志: 查看 系统 事件: 事件ID号: 审计目录服务访问 4934 - Active Directory 对象的属性被复制 4935 -复制失败 ...
- Qt编写自定义控件18-魔法小鱼
前言 上次发了个纯painter绘制的老鼠,那个就是qt目录下的demo,改的,只是比demo中的老鼠稍微胖一点,估计人到中年都发福吧.这次来一个魔法小鱼,这条鱼可以变换颜色,尾巴还会摇动,可以设定旋 ...