文件流的操作

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace Command
{
    public class FilesOperations
    {

        public List<string> GetFilesByExtension(string Extension)
        {
            DirectoryInfo folder = new DirectoryInfo(@"D:\wms");

            foreach (FileInfo file in folder.GetFiles("*." + Extension))
            {
                return GetTXT(file);
            }
            return null;
        }

        private List<string> GetTXT(FileInfo fileinfo)
        {
            List<string> txt = new List<string>();
            if (System.IO.File.Exists(fileinfo.DirectoryName + "\\" + fileinfo.Name.Split(‘.‘)[0] + ".ok"))
            {
                var file = System.IO.File.Open(fileinfo.FullName, FileMode.Open);

                using (var stream = new StreamReader(file))
                {
                    while (!stream.EndOfStream)
                    {
                        txt.Add(stream.ReadLine());
                    }
                }

                //操作完成把操作的文件包括同名.ok文件删除
                //将 文件 移动到其他目录
                System.IO.File.Move(fileinfo.DirectoryName + "\\" + fileinfo.Name.Split(‘.‘)[0] + ".ok", @"D:\BackupWms\" + fileinfo.Name.Split(‘.‘)[0] + ".ok");
                fileinfo.MoveTo(@"D:\BackupWms" + "\\" + fileinfo.Name);

                file.Close();
            }
            return txt;
        }

    }

    public class FileWrite
    {
        private string fn;
        public FileWrite(string fileNmae)
        {
            fn = fileNmae;
        }
        public bool Files(string s)
        {
            try
            {
                StreamWriter sw = new StreamWriter(fn, true, Encoding.UTF8);
                sw.WriteLine(s);
                sw.Flush();
                sw.Close();
                StreamWriter ok = new StreamWriter(fn.Split(‘.‘)[0] + ".ok", true, Encoding.UTF8);
                ok.Close();
                return true;
            }
            catch (Exception)
            {
                return false;
            }

        }
    }
}
时间: 2024-08-08 09:42:23

文件流的操作的相关文章

C# 文件流相关操作

二进制转换成图片: MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = Image.FromStream(ms); ms.Close(); this.pictureBox1.Image C#中byte[]与string的转换代码: System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding(); byte[] inputB

c++文件流的基本操作

C++编程语言在实际编程中,对于文件的操作是一个比较简单的操作,大家可以通过一些简单的实例就能充分的掌握这一应用技巧,并在实际编程中给自己的程序开发带来一些帮助.下面就让我们一起来看看C++文件流操作的相关应用技巧吧. C++文件流操作之文件写入: #include < fstream> #include < iostream> using namespace std; int main(){ string str; ofstream out("d.txt");

NET中级课--文件,流,序列化2

1.流的类型体系: 基础流    装饰器流    包装器类    帮助类 2.               stream file~     memory~     network~ stream是个抽象类,其中的方法要么抽象要么虚拟(virtual) 3.装饰器流:继承自stream类,又包含了stream类的引用.如bufferedstream   Gzipstream 装饰器模式的目的:为现有类添加功能. 4.包装器类:注意是类,而不是流.即它们不是流类型但包含了流的引用,提供了对流进行操

C# 語法---文件讀寫操作

文件讀寫操作 System.IO命名空間有著不同的類,用於執行各種文件操作 1.File  類 提供用於創建.複製.刪除.移動和打開單一文件的靜態方法.Flie的一些方法可以返回FileStream和StreamWriter對象 常用方法: Open(String path,FileMode mode)  以讀/寫 訪問權限打開指定路徑上的FileStream   參數 path 要打開的文件   mode 用於指定文件不存在時是否創建該文件,并確定保留還是覆蓋 Create(String) 

JAVA学习--文件流FileInputStream和FileOutputStream操作

* 1.流的分类: * 按照数据流向的不同:输入流  输出流 * 按照处理数据的单位的不同:字节流  字符流(处理的文本文件) * 按照角色的不同:节点流(直接作用于文件的)  处理流 *  * 2.IO的体系 * 抽象基类            节点流(文件流)                                缓冲流(处理流的一种) * InputStream        FileInputStream            BufferedInputStream * Outp

FrameWork:文件流操作

文件和流 绝对路径:E:\msd1508\Framework\Day05\Day05笔记.txt相对路径:从当前路径出发,到目的地的路径 假设当前路径是Day04 ..\Day05\Day05笔记.txt 网络路径 Using System.IO; File/FileSystemInfo 文件(文件操作方法) Directory/DirectoryInfo 目录(目录操作方法) DriveInfo 磁盘(磁盘操作方法) stream 流/抽象基类 FileStream 文件流/字节方法读写 St

IO流文件的读写操作

字符流有两个抽象类:Writer   Reader.其对应子类FileWriter,FileReader可实现文件的读写操作 同样,字节流也有两个抽象类:InputStream OutputStream.其对应子类有FileInputStream,FileOutputStream可实现文件读写 IO流中的重要方法:read()方法返回-1,readLine方法返回null.用法列如:while((line=br.readLine())!=null).Scanne类中的hasNext()方法如果此

C# IO操作(四)大文件拷贝(文件流的使用)、文件编码

     大文件拷贝(文件流的使用).文件编码 首先说一下大文件拷贝和文件流,因为计算机的内存资源是有限的,面对几个G甚至更大的文件,需要通过程序来完成拷贝,就需要用到文件流(因为我们无法做到把文件一次性加载到内存中:事实上,内存也不允许这么干),所以在C#中出现了内存流这个东西.先看下面的内容,File类中的常用读取文件方法会将文件内容一次性全部加载到内存中: 1 string sPath = @"C:\Users\Chens-PC\Desktop\Nginx.txt"; 2 //F

对数据文件的操作和文件流

一直到现在,我还是用键盘对程序进行输入,但是实际情况中大部分是对文件进行读取和输出,今天就学习一下对文件的输入输出  . 根据文件对数据的组织形式 , 可分为ascll文件和二进制文件    "ascll"文件 又称 文本文件或字符文件  .     文件流 不是若干个文件组成的流  而是以  文件流输入输出  若要对文件进行输入输出  ,  若要对文件进行输入输出  . 就必须通过文件流 来实现  . 现有  三个 用于文件操作的文件类  . ifstream 类 他是从istrea