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 可读可写 小文件 操作文 ...
随机推荐
- 4 LinkedList
1 LinkedList public class LinkedList<E> extends AbstractSequentialList<E> implements Lis ...
- Nginx之编写HTTP模块
1. 常用数据结构 1.1 ngx_str_t typedef struct { /* * 字符串的有效长度 */ size_t len; /* * 有效字符串的起始地址,该字符串通常并不以'\0'结 ...
- SRS之SrsHls::on_video详解
1. SrsHls::on_video /* * mux the video packets to ts. * @param shared_video, directly ptr, copy it i ...
- sklearn——train_test_split 随机划分训练集和测试集
sklearn——train_test_split 随机划分训练集和测试集 sklearn.model_selection.train_test_split随机划分训练集和测试集 官网文档:http: ...
- Mac配置jdk以及maven
一 Mac配置JDK和Maven 1.安装成功jdk后 2.打开终端后,输入vim ~/.bash_profile 3.输入: export MAVEN_HOME=/usr/local/maven/a ...
- 【转】实现1080P延迟低于500ms的实时超清直播传输技术
最近由于公司业务关系,需要一个在公网上能实时互动超清视频的架构和技术方案.众所周知,视频直播用 CDN + RTMP 就可以满足绝大部分视频直播业务,我们也接触了和测试了几家 CDN 提供的方案,单人 ...
- Linux (Ubuntu)安装nexus,搭建maven私有服务器
下载 nexus oos(开源版)https://www.sonatype.com/download-oss-sonatype 2 将下载的压缩包上传到/opt/nexus/文件夹下面 3 解压文件 ...
- JavaScript抽象语法树英文对照
type:"Program" //顶级对象类型 type:"Identifier" // 标识符 type:"FuncationDeclaration ...
- jekins自动部署tomcat注意事项、连接tomcat报错
jekins自动部署tomcat注意事项 千万不要用下面插件推送,报错很多, 要用脚本,一篇博客说的:“我们都是用的脚本,插件报错太多,也不完善” Deploy to container Plugin ...
- .NET中的简单的并行
https://www.cnblogs.com/hdwgxz/p/6129419.html https://www.cnblogs.com/hueychan/p/10575907.html