c#文件的操作

fileStream:操作字节的,也就是所有的文件都可以拿它去操作   /   file  /  path  /  streamRead  /  streamWrite(这两个都是操作字符的,它所操作的都是文本文件)

fileStream 与file的区别,fileStream可以操作大文件,因为fileStream是以文件流的形式读取文件,可以拆开读取,二file 是一次性读取。

文件流-à文件(fileStreamàfime):

操作小文件可以用file,而操作大文件就需要用到fileStream

一个简单的文件流读取代码

static void Main(string[] args)

{

string [email protected]"C:\Users\Administrator\Desktop\奥秘.txt";

using (FileStream fsRead = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))

{

byte[] buffer=new byte[1024*1024*5];

//i代表实际读取到的字节

int i = fsRead.Read(buffer, 0, buffer.Length);

string str = Encoding.UTF8.GetString(buffer,0,i);

Console.WriteLine(str);

Console.ReadKey();

}

}

一个关于文件流读写的小练习:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.IO;
 7 using System.Linq;
 8 using System.Text;
 9 using System.Threading.Tasks;
10 using System.Windows.Forms;
11
12 namespace fileStream小练习
13 {
14 public partial class Form1 : Form
15 {
16 public Form1()
17 {
18 InitializeComponent();
19 }
20 //选择文件
21 private void button1_Click(object sender, EventArgs e)
22 {
23 //选择文件的弹窗
24 OpenFileDialog ofd = new OpenFileDialog();
25 //设置标题
26 ofd.Title = "请选择文件";
27 //初始化打开的界面
28 ofd.InitialDirectory = @"C:\Users\Administrator\Desktop";
29 //多选
30 ofd.Multiselect = true;
31 //文件的类型
32 ofd.Filter = "所有文件|*.*";
33 ofd.ShowDialog();
34 this.txtReadPath.Text = ofd.FileName;
35 }
36 //保存文件
37 private void button2_Click(object sender, EventArgs e)
38 {
39 OpenFileDialog ofd = new OpenFileDialog();
40 ofd.Title = "选择保存的地址";
41 ofd.InitialDirectory = @"C:\Users\Administrator\Desktop";
42 ofd.ShowDialog();
43 txtSavePath.Text = ofd.FileName;
44
45 }
46
47 private void button3_Click(object sender, EventArgs e)
48 {
49 using (FileStream fsRead = new FileStream(this.txtReadPath.Text.Trim(), FileMode.OpenOrCreate, FileAccess.Read))
50 {
51 using (FileStream fsWrite = new FileStream(this.txtSavePath.Text.Trim(), FileMode.OpenOrCreate, FileAccess.Write))
52 {
53 this.progressBar1.Maximum = (int)fsRead.Length;
54 byte[] buffer = new byte[1024 * 1024 * 3];
55 while (true)
56 {
57
58 //实际读取的字节数
59 int r = fsRead.Read(buffer, 0, buffer.Length);
60
61 fsWrite.Write(buffer, 0, r);
62 this.progressBar1.Value = (int)fsWrite.Length;
63 if (r == 0)
64 {
65 MessageBox.Show("上传成功!");
66 break;
67 }
68 }
69 }
70 }
71 }
72 }
73 }

注意:File 只能操作小文件,一次性读取

File类:

File.ReadAllLines(“路径”,Encoding.Default);//读取本地txt格式的文件//只能操作文本文件,

什么时文本文件,放在记事本中不会乱码的文件,基本都属于文本文件,常见 的有txt html xml

Encoding.Default是默认的本机的编码格式

File.ReadAllLines()的默认编码格式时UTF-8 , 返回的是一个数组,以行为单位

还有一个 File.ReadAllText()  返回一个字符串,将文件一字符串的格式读取

还有一个叫File.ReadAllBytes()返回一个字节数组,然后再通过Encoding.Default.GetString(buffer)转换成字符串.

//以字符数组的方式读取

//string[] lines = File.ReadAllLines(@"C:\Users\Administrator\Desktop\2017-7-4日笔记.txt",ASCIIEncoding.Default);

//foreach (string item in lines)

//{

//    Console.WriteLine(item);

//}

//以字符串的方式读取

//string str = File.ReadAllText(@"C:\Users\Administrator\Desktop\2017-7-4日笔记.txt", ASCIIEncoding.Default);

//Console.WriteLine(str);

//以字节数组的方式读取

//byte[] buffer = File.ReadAllBytes(@"C:\Users\Administrator\Desktop\2017-7-4日笔记.txt");

//将字节转换成字符串

//string str = Encoding.Default.GetString(buffer);

//int length = str.Length;

以上时file的读取的三种方式,下面介绍三种写的操作:

File.WriteAllBytes()、File.WriteAll

//文件的写入

//string str="heheda";

//byte[] buffer = Encoding.Default.GetBytes(str);

//File.WriteAllBytes(@"C:\Users\Administrator\Desktop\qqq.txt", buffer);

第二种方法

String str=”hehe”;

File.WriteAllText(@"C:\Users\Administrator\Desktop\qqq.txt",str);

第三种方法:

string[] arrstr = { "hehe", "xixi", "lili" };

File.WriteAllLines(@"C:\Users\Administrator\Desktop\qqq.txt", arrstr);

编码格式:概念:将字符串以怎样的形式保存为二进制。形式就是编码格式。

最早的编码格式ASCII美国人的256个

中国最早的编码:GB2312

香港台湾GBK

还有个少数民族的GB18030

最后ISO的一个组织出来了,出了一个通用的标准编码:Unicode

刚开始用的时utf-16

现在用的最多的时utf-8

出现乱码的原因:我们在保存文件的时候采用的编码格式与打开这个文件时候的编码格式不一样

File 是一个静态类,介绍几个常用的方法:

Exists():判断制定的文件是否存在

Create()创建文件

Move() 剪切(移动)文件

Copy() 复制文件

Delete() 删除文件

    

时间: 2024-10-27 03:15:57

c#文件的操作的相关文章

Python中文件的操作

文件的操作介绍 文件打开的方法 主要有两种: no with 格式:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) 常用:variable = open('路径\文件',mode,encoding=None) variable.close() #不使用with方法时,在文件操作结束时要关闭文件 with 格式:with open('路径\

C语言文件读写操作总结

C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了.当使用打开函数时,必须给出文件名.文件操作方式(读.写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头.若已有一个同名文件存在,则删除该文件,若无同名文件,则建立该文件,并将文件指针指向文件开头. fopen(char

.net对文件的操作之对文件目录的操作

.NET 提供一个静态File类用于文件的操作,下面列出它的主要操作方法. 返回值类型 方法名称 说明 bool Exists(string path) 用于检查指定文件是否存在 void Copy(string sourceFilePath,string destinationFilePath) 将指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定的路径中新建一个文件 void Move(string sourceFileName,string destFileName)

【UNIX环境高级编程】文件 IO 操作 - 基础函数 open close creat lseek write read 详解

博客地址 : http://blog.csdn.net/shulianghan/article/details/46980271 一. 文件打开关闭操作相关函数介绍 1. open 函数 (1) open 函数简介 open 函数解析 : -- 函数定义 : #include <fcntl.h> int open(const char *path, int oflag, ...); -- 函数作用 : 打开或者创建一个文件; -- 返回值 : 打开文件成功, 返回文件描述符; 如果失败, 返回

Linux命令行基本文件/文件夹操作

对文件的操作 创建空文件:   touch +文件名   # 一般是先touch好一个文件然后vim这个文件. 很好奇为什么叫touch.删除文件:  rm +文件名         # 直接就没了,不会到回收站 复制文件到指定位置: cp +文件 + 目标目录  # 例如 cp file sub 把当前目录下的file文件复制到了当前目录子目录sub里面.重命名/移动文件: mv +文件(文件夹) + 目标目录 # 例如 mv dir1 dir2/new 把文件夹dir1(及其内容)移动到了跟

Java 对文件的操作

public class ReadFile { /** * 按行读取文件操作 * @throws IOException */ public void readFile(String fileName) throws IOException{ //(1)File 类 File file = new File(fileName); // BufferedReader reader = null; try { //(2) 将文件放入到BufferedReader中 reader = new Buff

java实现客户端向服务器发送文件的操作

服务器源代码: import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSocket;

我的视频网站开通,第一个 ArcGIS文本文件,excel文件生成点操作发布,希望大家支持

网站地址:http://i.youku.com/gisoracle第一个学习视屏:ArcGIS文本文件,excel文件生成点操作http://v.youku.com/v_show/id_XNzM3NzIxODE2.html 我的视频网站开通,第一个 ArcGIS文本文件,excel文件生成点操作发布,希望大家支持,布布扣,bubuko.com

对文件的操作

以下是最近文件操作的总结,所以我把所有零碎的知识点写在了一起,比较乱! 对文件的操作,布布扣,bubuko.com

INI文件的操作(ASP.NET+C#)

INI文件的操作(ASP.NET+C#) (一)INIFile.cs using System; using System.Runtime.InteropServices; using System.Text; namespace CreateWebDir { /// <summary> /// INIFile 的摘要说明. /// </summary> public class INIFile { public string path; public INIFile(string