文件和文件夹的操作——文件流的使用

简介: 文件和文件夹的操作——文件流的使用

1、文件的读取和写入


思路:主要用到了File类的CreateText方法和StreamWriter类的WriteLine方法。


(1)、File类的CreateText方法,该方法实现创建或打开一个文件用于写入UTF-8编码的文本。语法如下:public static StreamWriter(string path)


(2)、StreamWriter类的WriteLine方法


该方法实现将后跟行结束符的字符串写入文件流,语法如下:


public virtual void WriteLine(string  value)


参数说明:value:要写入的字符串,如果value为null,则仅写入行结束字符。

tt.png

public partial class Form1 : Form


   {

       public Form1()


       {

           InitializeComponent();


       }


       private void button1_Click(object sender, EventArgs e)


       {

           if (saveFileDialog1.ShowDialog() == DialogResult.OK)


           {

               textBox1.Text = saveFileDialog1.FileName;


           }


           else


           {

               textBox1.Text = "";


           }


       }


       private void button2_Click(object sender, EventArgs e)


       {

           if (String.IsNullOrEmpty(textBox1.Text.Trim()))//若文件路径为空


           {

               MessageBox.Show("请设置文件路径!");


               return;


           }


           if (String.IsNullOrEmpty(textBox2.Text.Trim()))//若文本内容为空


           {

               MessageBox.Show("请输入文件内容!");


               return;


           }


           if (!File.Exists(textBox1.Text))


           {//创建或打开一个文件用于写入 UTF-8 编码的文本。


               using (StreamWriter sw = File.CreateText(textBox1.Text))                {

                   sw.WriteLine(textBox2.Text);//把字符串写入文本流


                   MessageBox.Show("文件创建成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);


               }


           }


           else


           {

               MessageBox.Show("该文件已经存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);


           }


       }


   }


2、OpenRead方法打开现有文件并读取


思路:主要用到了File类的OpenRead方法和FileStream类的Read方法。


(1)、File类的OpenRead方法,该方法实现打开现有文件以进行读取,语法格式如下:


public static FileStream OpenRead(string path)


参数说明:path:要打开以进行读取的文件。


返回值:指定路径上的只读文件流。


(2)、FileStream类的Read方法


该方法实现从流中读取字节快并将该数据写入给定的缓冲区中,语法如下:


public override int Read(byte[] array,int offset,int count)


Read方法中的参数说明:


参数


说明


Array


写入数据的缓冲区


Offset


读取的开始位置索引


Count


最多读取的字节数


返回值


读入Buffer中的总字节数。如果当前的字节数没有所请求的那么多,则总字节数可能小于所请求的字节数;或者如果已到达流的末尾,则为零。


例:

tt.png

private void button1_Click(object sender, EventArgs e)


       {

           try


           {

               openFileDialog1.Filter = "文本文件(*.txt)|*.txt";//设置打开文件的类型


               openFileDialog1.ShowDialog();


               textBox1.Text = openFileDialog1.FileName;//设置打开的文件名称


               FileStream fs = File.OpenRead(textBox1.Text);//打开现有文件以进行读取


               byte[] b = new byte[1024];//定义缓存


               while (fs.Read(b, 0, b.Length) > 0)//循环每次读取1024个字节到缓存中


               {//把字节数组所有字节转为一个字符串


                   textBox2.Text = Encoding.Default.GetString(b);              


}


           }


           catch { MessageBox.Show("请选择文件"); }


       }


3、使用OpenWrite方法打开现有文件并进行写入


思路:是要用到了File类的OpenWrite方法,Encoding抽象类的GetBytes方法和FileStream类的Write方法,


File类的OpenWrite方法

该方法用于实现打开现有文件以进行写入,语法如下:


Public static FileStream OpenWrite(string path)


参数说明:path:要打开以尽心写入的文件。


返回值:返回具有写入权限的指定路径上的飞共享文件流对象。


Encoding抽象类的GetBytes方法。该方法用于实现将指定的字符串中的所有字符编码为一个字节序列。语法如下:public virtual byte[] GetBytes(string s)

参数说明:s:包含要编码的字符的字符串。


返回值:返回一个字节数组,包含对指定的字符集进行编码的结果。


FileStream类的Write方法。该方法实现使用从缓冲区读取的数据将字节块写入该流。语法如下:public override void Write(byte[] array,int offset,int count)

Write方法中的参数说明:


参数


说明


Array


包含要写入该流的数据的缓冲区


Offset


位置索引,从此处开始将字节复制到当前流


Count


要写入当前流的最大字节数。


返回值


无返回值


例:


 public partial class Form1 : Form {

public Form1()


{  InitializeComponent();}


       private void button1_Click(object sender, EventArgs e)


       {

           openFileDialog1.Filter = "文本文件(*.txt)|*.txt";


           openFileDialog1.ShowDialog();


           textBox1.Text = openFileDialog1.FileName;


       }


       private void button2_Click(object sender, EventArgs e)


       {

       


           if (String.IsNullOrEmpty(textBox1.Text.Trim()))


           {

               MessageBox.Show("请设置文件!");


               return;


           }


           try


           {

               FileStream FStream = File.OpenWrite(textBox1.Text);


               Byte[] info = Encoding.Default.GetBytes(textBox2.Text);


               FStream.Write(info, 0, info.Length);


               FStream.Close();


               MessageBox.Show("写入文件成功!");


           }


           catch (Exception ex)


           {

               MessageBox.Show(ex.Message);


           }


       }


}


3、打开现有UTF-8编码文本文件并进行读取


思路:主要用到File类的OpenText方法和StreamReader类的ReadToEnd方法,


File类的OpenText方法,该方法实现打开现有UTF-8编码文本文件以进行读取。语法如下:public static StreamReader OpenText(string path)

(2)   StreamReader类的ReadToEnd()。参数说明:返回值:返回字符串形式的流的其余部分(从当前位置到末尾)。如果当前位置位于流的末尾,则返回空字符串(””)。


例:


private void button1_Click(object sender, EventArgs e)


       {

           try


           {

               openFileDialog1.Filter = "文本文件(*.txt)|*.txt";


               openFileDialog1.ShowDialog();


               textBox1.Text = openFileDialog1.FileName;


               StreamReader SReader = File.OpenText(textBox1.Text);


               textBox2.Text = SReader.ReadToEnd();


           }


           catch { }


       }


4、读取文件中的第一行数据


主要用到的方法:ReadLine();


openFileDialog1.Filter = "文本文件(*.txt)|*.txt";


               openFileDialog1.ShowDialog();


               textBox1.Text = openFileDialog1.FileName;


               StreamReader SReader = new StreamReader(textBox1.Text, Encoding.Default);


               textBox2.Text = SReader.ReadLine();


5、将文本文件转换成网页文件


思路:主要用到RichTextBox控件AppendText方法和SaveFile方法。


(1)、RichTextBox控件的AppendText方法,该方法实现向文本框的当前文本追加文本,格式如下:


Public void AppendText(string text)


SaveFile方法,该方法实现将RichTextBox中的内容保存到特定类慈宁宫的文件中,语法如下:public void Save File(string path,RichTextBoxStreamType fileType)

FileType: RichTextBoxStreamType枚举之一,


枚举值


说明


RichText


RTF格式流


PlainText


用空格代替对象连接与嵌入(OLE)对象的纯文本流


RichNoOleObjs


用空格代替OLE对象的丰富文本格式(RTF格式)流


TextTextOleObjs


具有OLE对象的文本表示形式的纯文本流


UnicodePlainText


包含空格代替对象链接与嵌入(OLE)对象的文本流



例:


 string strContent = "##科技有限公司是一家以计算机软件技术为核心的高科技企业,多年来始终致力于行业管理软件开发、数字化出版物制作、计算机网络系统综合应用以及行业电子商务网站开发领域,涉及生产、管理、控制、仓储、物流、营销、服务等行业。公司拥有软件开发和项目实施方面的资深专家和学习型技术团队,多年来积累了丰富的技术文档和学习资料,公司的开发团队不仅是开拓进取的技术实践者,更致力于成为技术的普及和传播者。";


               string strCompany = "##科技有限公司";


               string strWeb = "www.##soft.com";


               string strFileName = "公司网页.htm";


               richTextBox1.Clear();


               richTextBox1.AppendText("<HTML>");


               richTextBox1.AppendText("<HEAD>");


               richTextBox1.AppendText("<TITLE>");


               richTextBox1.AppendText(strCompany);


               richTextBox1.AppendText("</TITLE>");


               richTextBox1.AppendText("</HEAD>");


               richTextBox1.AppendText("<BODY BGCOLOR='TAN'>");


               richTextBox1.AppendText("<CENTER>");


               richTextBox1.AppendText("<H2>" + strCompany + "</H2>");


               String strHyper = "<H4><A HREF='" + strWeb + "'>欢迎访问**科技公司网站:";


               richTextBox1.AppendText(strHyper + strWeb + "</A></H4>");


               richTextBox1.AppendText("</CENTER>");


               richTextBox1.AppendText(strContent);


               richTextBox1.AppendText("</BODY>");


               richTextBox1.AppendText("</HTML>");


               richTextBox1.SaveFile(strFileName, RichTextBoxStreamType.PlainText);


               System.Diagnostics.Process.Start(strFileName);


6、读写内存流数据


主要用到MemoryStream类的Capacity属性,Write方法和Read方法。

tt.png

private void button1_Click(object sender, EventArgs e)


       {

           byte[] BContent = Encoding.Default.GetBytes(textBox1.Text);


           MemoryStream MStream = new MemoryStream(100);


           MStream.Write(BContent, 0, BContent.Length);


           richTextBox1.Text = "分配给该流的字节数:" + MStream.Capacity.ToString() + "\n流长度:"


               + MStream.Length.ToString() + "\n流的当前位置:" + MStream.Position.ToString();


           MStream.Seek(0, SeekOrigin.Begin);


           byte[] byteArray = new byte[MStream.Length];


           int count = MStream.Read(byteArray, 0, (int)MStream.Length - 1);


           while (count < MStream.Length)


           {

               byteArray[count++] = Convert.ToByte(MStream.ReadByte());


           }


           char[] charArray = new char[Encoding.Default.GetCharCount(byteArray, 0, count)];


           Encoding.Default.GetChars(byteArray, 0, count, charArray, 0);


           for (int i = 0; i < charArray.Length; i++)


           {

               richTextBox2.Text += charArray[i].ToString();


           }


       }


6、创建并写入二进制文件数据

tt.png

思路:主要用到BinaryWriter类的构造方法和Write方法。


例: private void button2_Click(object sender, EventArgs e)


{

 if (String.IsNullOrEmpty(textBox1.Text.Trim()))


           {

               MessageBox.Show("请选择文件路径");


               return;


           }


           if (String.IsNullOrEmpty(textBox2.Text.Trim()))


           {

               MessageBox.Show("请设置文件名称");


               return;


           }


           try


           {

               FileStream myStream = new FileStream(textBox1.Text + "\\" + textBox2.Text+".bin", FileMode.Create);


               BinaryWriter myWriter = new BinaryWriter(myStream);


               for (int i = 0; i < 10; i++)


               {

                   myWriter.Write(i);


               }


               myWriter.Close();


               myStream.Close();


               MessageBox.Show("创建并写入成功!");


           }


           catch(Exception ex)


           {

               MessageBox.Show(ex.Message);


           }


       }


7、读取二进制文件的内容


例:


 private void button1_Click(object sender, EventArgs e)


       {

           openFileDialog1.Filter = "*.bin|*.bin";


           openFileDialog1.ShowDialog();


           textBox1.Text = openFileDialog1.FileName;


       }


       private void button2_Click(object sender, EventArgs e)


       {

           if (String.IsNullOrEmpty(textBox1.Text.Trim()))


           {

               MessageBox.Show("请选择文件");


               return;


           }


           textBox2.Text = string.Empty;


           try


           {

               FileStream myStream = new FileStream(textBox1.Text, FileMode.Open, FileAccess.Read);


               BinaryReader myReader = new BinaryReader(myStream);


               for (int i = 0; i < myStream.Length; i++)


               {

                   textBox2.Text += myReader.ReadInt32();


               }


               myReader.Close();


               myStream.Close();


           }


           catch { }


       }

tt.png

8、使用缓冲流复制文件


思路:在使用缓冲流,需要用到System.IO命名空间下的BufferedStream类,BufferedStream流,也称作缓冲流,它实现给另一个流上的读写操作添加一个缓冲层。缓冲流在内存中创建一个缓冲区,它会以最有效的增量从磁盘中读取字节到缓冲区,它会以最有效率的增量从磁盘中读取字节到缓冲区。缓冲区是内存中的字节块,用于缓存数据从而减少对操作系统的调用次数,缓冲区可提高读取和写入性能。


BufferedStream类的Read方法。该方法实现将字节从当前缓冲流复制数组。格式如下:public override int Read(byte[] array,int offset,int count)

参数


说明


Array


将字节复制到缓冲区


Offset


位置索引,从此处开始读取字节


Count


要读取的字节数


返回值


读入array字节数组中的总字节数。如果可用的字节没有所请求的那么多,总字节数可能小于请求的字节数;或者如果可读取任何数据前就已达到流的末尾,则为零。


BufferedStream 类的Write方法。该方法实现字节复制到缓冲流,并将缓冲流内的当前位置前进写入的字节数,语法如下:public override void Write(byte[] array,int offset,int count)。Write参数说明:

参数


说明


Array


字节数组,从该字节数组count个字节复制到当前缓冲流中。


Offset


缓冲区的偏移量,从此处开始将字节复制到当前缓冲流中


Count


要写入当前缓冲流中的字节数


返回值


无返回值


BufferedStream类的Flush方法。该方法实现清楚该流的所有缓冲区,使得所有缓冲的数据都被写入到基础设备。语法格式:public override void Flush()

注:由于缓冲流在内存的缓冲区中直接读写数据,而不是从硬盘中直接读写数据,所以它处理大容量的文件尤为适合。


例:

tt.png

public partial class Form1 : Form


   {

       public Form1()


       {

           InitializeComponent();


       }


       private void button1_Click(object sender, EventArgs e)


       {

           openFileDialog1.Filter = "文件(*.*)|*.*";


           openFileDialog1.ShowDialog();


           textBox1.Text = openFileDialog1.FileName;


       }


       private void button2_Click(object sender, EventArgs e)


       {

           folderBrowserDialog1.ShowDialog();


           textBox2.Text = folderBrowserDialog1.SelectedPath;


       }


       private void button3_Click(object sender, EventArgs e)


       {

           try


           {

               string str1 = textBox1.Text;


               string str2 = textBox2.Text + "\\" + textBox1.Text.Substring(textBox1.Text.LastIndexOf("\\") + 1, textBox1.Text.Length - textBox1.Text.LastIndexOf("\\") - 1);


               Stream myStream1, myStream2;


               BufferedStream myBStream1, myBStream2;


               byte[] myByte = new byte[1024];


               int i;


               myStream1 = File.OpenRead(str1);


               myStream2 = File.OpenWrite(str2);


               myBStream1 = new BufferedStream(myStream1);


               myBStream2 = new BufferedStream(myStream2);


               i = myBStream1.Read(myByte, 0, 1024);


               while (i > 0)


               {

                   myBStream2.Write(myByte, 0, i);


                   i = myBStream1.Read(myByte, 0, 1024);


               }


               myBStream2.Flush();


               myStream1.Close();


               myBStream2.Close();


               MessageBox.Show("文件复制完成");


           }


           catch(Exception ex)


           {

               MessageBox.Show(ex.Message);


           }


       }


}


9、如何使用GzipStream压缩文件?


GzipStream类位于System.IO.Compression命名空间下,提供用于压缩和解压缩流的方法和属性。该类表示GZip数据格式,这种格式包括一个检测数据损坏的循环冗余校验值。当使用GzipStream类构造一个压缩流后,就可以使用该类的Write方法写数据,从而实现压缩功能。


Write方法实现从指定的字节数组中将要压缩的字节写入基础流。语法如下:

Public override void Write(byte[] array,int offset, int count)


参数说明:(1)array 用于存储要压缩字节的数组。(2)offset 数组中开始读取的位置(2)count 压缩的字节数。

tt.png

using System.IO.Compression;


namespace GZipFile


{

   public partial class Form1 : Form


   {

       public Form1()


       {

           InitializeComponent();


       }


       private void button1_Click(object sender, EventArgs e)


       {

           openFileDialog1.Filter = "所有文件(*.*)|*.*";


           if (openFileDialog1.ShowDialog() == DialogResult.OK)


           {

               textBox1.Text = openFileDialog1.FileName;


           }


       }


       private void button2_Click(object sender, EventArgs e)


       {

           if (String.IsNullOrEmpty(textBox1.Text))


           {

               MessageBox.Show("请选择源文件!", "信息提示");


               return;


           }


           if (String.IsNullOrEmpty(textBox2.Text))


           {

               MessageBox.Show("请输入压缩文件名!", "信息提示");


               return;


           }


           string str1 = textBox1.Text;


           string str2 = textBox2.Text.Trim();


           byte[] myByte = null;


           FileStream myStream = null;


           FileStream myDesStream = null;


           GZipStream myComStream = null;


           try


           {

               myStream = new FileStream(str1, FileMode.Open, FileAccess.Read, FileShare.Read);


               myByte = new byte[myStream.Length];


               myStream.Read(myByte, 0, myByte.Length);


               myDesStream = new FileStream(str2, FileMode.OpenOrCreate, FileAccess.Write);


               myComStream = new GZipStream(myDesStream, CompressionMode.Compress, true);


               myComStream.Write(myByte, 0, myByte.Length);


               MessageBox.Show("压缩文件完成!");


           }


           catch { }


           finally


           {

               myStream.Close();


               myComStream.Close();


               myDesStream.Close();


           }


       }


   }


}


10、如何使用Gzip解压文件


思路:使用GzipStream类的Read方法读取数据,从而实现解压缩。语法如下:


Public override int Read(byte[] array,int offset,int count)。


参数说明:(1)array 用于存储压缩的字节的数组。(2)offset 数组中开始读取的位置(3)count 解压缩的字节数。(4)返回值 解压缩到字节数组中的字节数。如果已到达流的末尾,则返回0或读取的字节数

tt.png

using System.IO.Compression;


namespace UnGzipFile


{

   public partial class Form1 : Form


   {

       public Form1()


       {

           InitializeComponent();


       }


       private void button1_Click(object sender, EventArgs e)


       {

           openFileDialog1.Filter = "压缩文件(*.gzip)|*.gzip";


           if (openFileDialog1.ShowDialog() == DialogResult.OK)


           {

               textBox1.Text = openFileDialog1.FileName;


           }


       }


       private void button2_Click(object sender, EventArgs e)


       {

           if (String.IsNullOrEmpty(textBox1.Text))


           {

               MessageBox.Show("请选择GZIP文件!", "信息提示");


               return;


           }


           if (String.IsNullOrEmpty(textBox2.Text))


           {

               MessageBox.Show("请输入解压文件名!", "信息提示");


               return;


           }


           string str1 = textBox1.Text;


           string str2 = textBox2.Text.Trim();


           byte[] myByte = null;


           FileStream myStream = null;


           FileStream myDesStream = null;


           GZipStream myDeComStream = null;


           try


           {

               myStream = new FileStream(str1, FileMode.Open);


               myDeComStream = new GZipStream(myStream, CompressionMode.Decompress, true);


               myByte = new byte[4];


               int myPosition = (int)myStream.Length - 4;


               myStream.Position = myPosition;


               myStream.Read(myByte, 0, 4);


               myStream.Position = 0;


               int myLength = BitConverter.ToInt32(myByte, 0);


               byte[] myData = new byte[myLength + 100];


               int myOffset = 0;


               int myTotal = 0;


               while (true)


               {

                   int myBytesRead = myDeComStream.Read(myData, myOffset, 100);


                   if (myBytesRead == 0)


                       break;


                   myOffset += myBytesRead;


                   myTotal += myBytesRead;


               }


               myDesStream = new FileStream(str2, FileMode.Create);


               myDesStream.Write(myData, 0, myTotal);


               myDesStream.Flush();


               MessageBox.Show("解压文件完成!");


           }


           catch { }


           finally


           {

               myStream.Close();


               myDeComStream.Close();


               myDesStream.Close();


           }


       }


   }


}


11、调用WinRAR实现文件的压缩和解压


using System;


using System.Collections.Generic;


using System.Linq;


using System.Web;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Diagnostics;


using System.IO;


public partial class Zip : System.Web.UI.Page


{


   protected void Page_Load(object sender, EventArgs e)


   {


   }


   //压缩文件


   protected void Button1_Click(object sender, EventArgs e)


   {


       ProcessStartInfo startinfo = new ProcessStartInfo(); ;


       Process process = new Process();


       string rarName = "1.rar"; //压缩后文件名


       string path = @"C:\images"; //待压缩打包文件夹


       string rarPath = @"C:\zip";  //压缩后存放文件夹


       string rarexe = @"c:\Program Files\WinRAR\WinRAR.exe";  //WinRAR安装位置


       try


       {


           //压缩命令,相当于在要压缩的文件夹(path)上点右键->WinRAR->添加到压缩文件->输入压缩文件名(rarName)


           string cmd = string.Format("a {0} {1} -r",


                               rarName,


                               path);


           startinfo.FileName = rarexe;


           startinfo.Arguments = cmd;                          //设置命令参数


           startinfo.WindowStyle = ProcessWindowStyle.Hidden;  //隐藏 WinRAR 窗口


           startinfo.WorkingDirectory = rarPath;


           process.StartInfo = startinfo;


           process.Start();


           process.WaitForExit(); //无限期等待进程 winrar.exe 退出


           if (process.HasExited)


           {


               MSCL.JsHelper.Alert("压缩成功!", Page);


           }


       }


       catch (Exception ex)


       {


           MSCL.JsHelper.Alert(ex.Message, Page);


       }


       finally


       {


           process.Dispose();


           process.Close();


       }        


   }


   //解压文件


   protected void Button2_Click(object sender, EventArgs e)


   {


       ProcessStartInfo startinfo = new ProcessStartInfo(); ;


       Process process = new Process();


       string rarName = "1.rar"; //将要解压缩的 .rar 文件名(包括后缀)


       string path = @"C:\images1"; //文件解压路径(绝对)


       string rarPath = @"C:\zip";  //将要解压缩的 .rar 文件的存放目录(绝对路径)


       string rarexe = @"c:\Program Files\WinRAR\WinRAR.exe";  //WinRAR安装位置


       try


       {


           //解压缩命令,相当于在要压缩文件(rarName)上点右键->WinRAR->解压到当前文件夹


           string cmd = string.Format("x {0} {1} -y",


                               rarName,


                               path);


           startinfo.FileName = rarexe;


           startinfo.Arguments = cmd;                          //设置命令参数


           startinfo.WindowStyle = ProcessWindowStyle.Hidden;  //隐藏 WinRAR 窗口


           startinfo.WorkingDirectory = rarPath;


           process.StartInfo = startinfo;


           process.Start();


           process.WaitForExit(); //无限期等待进程 winrar.exe 退出


           if (process.HasExited)


           {


               MSCL.JsHelper.Alert("解压缩成功!", Page);


           }


       }


       catch (Exception ex)


       {


           MSCL.JsHelper.Alert(ex.Message, Page);


       }


       finally


       {


           process.Dispose();


           process.Close();


       }    


   }


}




tt.png



tt.png



目录
相关文章
|
3月前
|
JavaScript Java
不同目录下的文件读取方式
这篇文章介绍了在Java中不同情况下读取文件的方法,包括当文件与类文件处于同级目录、不同级目录,以及不区分目录层级时的读取方式。
28 1
|
6月前
|
存储 Java 程序员
文件的介绍
文件的介绍
112 1
|
6月前
|
Windows
Hasleo EasyUEFI v5.5单文件版
Hasleo EasyUEFI,轻松管理EFI/UEFI启动项 & 管理EFI系统分区 & 修复EFI系统启动问题!EasyUEFI是免费EFI启动管理软件,用于管理EFI/UEFI启动项,包括创建、删除、编辑、清理、备份和还原EFI/UEFI启动项。
79 0
|
6月前
|
Java
Java【代码 15】文件操作相关方法(获取文件、复制文件、创建文件夹、获取图片文件、写出数据到文件、清理文件夹)
Java【代码 15】文件操作相关方法(获取文件、复制文件、创建文件夹、获取图片文件、写出数据到文件、清理文件夹)
44 0
读取指定文件夹下面的所有文件(含子目录)
读取指定文件夹下面的所有文件(含子目录)
49 0
|
数据安全/隐私保护
p文件如何转为m文件
如果你是MATLAB爱好者,你一定知道MATLAB P文件,但是,你是否也和许多人一样,摸不着头脑?难道你也经常遇到MATLAB P文件加密问题,难以阅读和研究吗?那么,你需要一个MATLAB P文件解密工具!
C#编程-22:判断文件是否存在并创建文件(夹)
C#编程-22:判断文件是否存在并创建文件(夹)
114 0
文件和文件夹的操作——文件夹的操作
文件和文件夹的操作——文件夹的操作
143 0
文件和文件夹的操作——文件夹的操作
文件和文件夹的操作——文件操作
文件和文件夹的操作——文件操作
117 0
|
Windows Linux
八、文件的处理
f = open ('‪H:\\呵呵.txt',encoding='utf-8',mode='r') s = f.read print(s) f.close f:变量,f_obj,file,f_handler,...文件句柄。
1103 0