c#关于文件夹/文件/文本读取遍历,写入还有表格的读取的一些方法

这篇具有很好参考价值的文章主要介绍了c#关于文件夹/文件/文本读取遍历,写入还有表格的读取的一些方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

c#遍历文件夹下的各种文件

    private void ForeachFiles(string path)
        {
            DirectoryInfo theFolder = new DirectoryInfo(path);
            DirectoryInfo[] dirInfo = theFolder.GetDirectories();//获取所在目录的文件夹
            FileInfo[] file=  theFolder.GetFiles();//获取所在目录的文件

            foreach (FileInfo fileItem in file) //遍历文件
            {
                var fileName = fileItem.Name;//文件名字
               	var  dirName= fileItem.DirectoryName;//文件所在文件夹路径
               	var sReader = fileItem.OpenText();
            	var contentStr = sReader.ReadToEnd();//读取文件内容,字符串
            	sReader.Close();//记得关闭
            }

            //遍历文件夹
            foreach (DirectoryInfo NextFolder in dirInfo)
            {
                ForeachFiles(NextFolder.FullName);
            }
        }

将一些log写入到文本文件中:

 if (GUILayout.Button("拷贝日志", GUILayout.Width(200)))
                {
                    string log = tipText.ToString();//要写入的字符串
                    if (!string.IsNullOrEmpty(log))
                    {
                        string tempFile = Path.GetTempFileName();//获取一个临时文件名
                        using (FileStream fs = new FileStream(tempFile, FileMode.Open))
                        {
                            fs.Seek(0, SeekOrigin.Begin);
                            fs.SetLength(0);//将文件流长度设为0,清空其中的内容
                            StreamWriter sw = new StreamWriter(fs);//专用于特定编码的字符输出
                            sw.Write(log);//写入
                            sw.Close();
                            fs.Close();
                        }

                        System.Diagnostics.Process.Start("notepad.exe", tempFile);//打开这个临时文本文件
                    }
                }

fs.Seek(offset, whence);移动文件读取的指针到指定位置
offset:开始的偏移量,也就是代表需要移动偏移的字节数
whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。whence值为空没设置时会默认为0。

System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能:
1、打开某个链接网址(弹窗)。
2、定位打开某个文件目录。
3、打开系统特殊文件夹,如“控制面板”等。
可见这篇博客:
http://t.csdn.cn/Q6G93

在editor上想输出一些log:

   	private StringBuilder tipText = new StringBuilder();
     private void PopupTipText(string newTip)
        {
            var time = System.DateTime.Now.ToLongTimeString();
            if (tipText == null)
                tipText = new StringBuilder();
            tipText.Insert(0, time + "---" + newTip + "\n");
        }

c#关于文件夹/文件/文本读取遍历,写入还有表格的读取的一些方法

一些读取目录的方法:
Application.streamingAssetsPath:普通资源目录
详细的一些资料:http://t.csdn.cn/UbefR
AkBasePathGetter.DefaultBasePath:wwwise的资源文件路径

读取xml文件内容相关:
比如下列是读取音频相关内容:

    public static void GetWwiseProjectConfigStateData(out Dictionary<string, List<string>> audioConfigDict, string xmlPath)
    {
        audioConfigDict = new Dictionary<string, List<string>>();
        string path = xmlPath;
        if (File.Exists(path))
        {
            var doc = new System.Xml.XmlDocument();
            doc.Load(path);

            var StateGroups = doc.GetElementsByTagName("StateGroup");
          
            for (var i = 0; i < StateGroups.Count; i++)
            {
                var nameStateGroups = StateGroups[i].Attributes["Name"].Value;//获取标签名name对应的内容
                var nameStateList = new List<string>(); 
                    var States = StateGroups[i].SelectNodes("States");
                    for (var j = 0; j < States.Count; j++)
                    {
                        var State = States[j].SelectNodes("State");
                        for (var k = 0; k < State.Count; k++)
                        {
                            var nameState = State[k].Attributes["Name"].Value;
                       
                            nameStateList.Add(nameState);
                            if (audioConfigDict.ContainsKey(nameStateGroups) )
                            {
                                audioConfigDict[nameStateGroups] = nameStateList;
                            }
                            else
                            {
                                audioConfigDict.Add(nameStateGroups, nameStateList);
                               
                            }
                            
                        }
                    }
            }
        }
    }

XmlDocument支持使用xpath表达式选择文档中节点,方法:
SelectNodes(String expression)
SelectSingleNode(string expression)
SelectNodes 返回符合expression表达式的所有元素,返回值为XmlNodeList,比如:
XmlNodeList nodelist = xmlDoc.SelectNodes(“/CameraGroup/Camera”);//获取所有的Camera节点。
SelectSingleNode只返回第一个符合expression表达式的节点,如果没有返回null值。

读取一些表格:
public static List excelConfig = new List();文章来源地址https://www.toymoban.com/news/detail-430321.html

   public static Excel.ExcelTable GetExcelTable(string excelFileName, string tableName)
    {
        string excelPath = string.Format("/configs/{0}.xlsx", excelFileName);
        var excel = new Excel.Excel(excelPath );
        return excel.GetTable(tableName);
    }
       excelConfig.Add(GetExcelTable("表格名字", "表格分栏的sheet名字"));

到了这里,关于c#关于文件夹/文件/文本读取遍历,写入还有表格的读取的一些方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 使用os.path.join对文件夹中的文件进行循环遍历读取

    使用os.path.join()函数 一个情景 当我们需要处理数据时,数据保存在txt文件,或者语音处理wav文件 并且以后多个文件,其代表着某一任务下不同参数得到的结果。 所以我们需要使用路径来读取文件, 如果需要一次性读取多个,那么则循环遍历。 这里需要用到 os.path.join 操作

    2024年02月16日
    浏览(39)
  • 【C#】【System.IO】关于拷贝文件夹以及(Directory和DirectoryInfo、File和FileInfo)的区别

    本次问题是想要拷贝文件夹,但是找了一圈发现只有File有Copy或者FileInfo的CopyTo,并没有Directory的拷贝操作方法。 针对C#中拷贝文件夹的方法就是先生成一个目标文件夹(destinationFolder)再将(soursefolder)中的文件依次拷贝到目标文件夹中,C#并没有提供封装好的方法将文件夹

    2024年02月08日
    浏览(43)
  • Java文件处理(一):创建文件、遍历文件夹、删除文件/文件夹

    本篇以代码为核心,在实践中自学吧年轻人~ 要进行文件处理肯定需要 File 类啦。 File 的实例是一个实例(?),但是可以链接到本地的文件、文件夹,并对它们进行操作。 从下面的一些示例中可以看到,同一份本地文件可以拥有多个File对象;同时,构造一个File对象时传入

    2024年02月05日
    浏览(78)
  • SHELL脚本 遍历文件夹下所有文件以及子文件夹

    dir 要设置为局部变量 如果设置为全局变量 在func递归时传入的参数 会改变 dir的值,将导致之后的文件目录错误(为更改后的dir值) 当前目录情况: 执行完shell后: 附上代码: 如有不对,感谢指出。

    2024年02月12日
    浏览(56)
  • Node.js 文件写入及文件夹交互操作

    目录 1、文件写入 1.1 同步写入文件 1.2 将内容追加到文件 2、文件夹交互 2.1 检查文件夹是否存在 2.2 创建新文件夹 2.3 读取目录内容 2.4 重命名文件夹 2.5 删除文件夹 在Node.js中写入文件最简单的方法是使用fs.writeFile()API。 您可以使用同步版本fs.writeFileSync(): 您还可以使

    2024年02月06日
    浏览(48)
  • Java遍历文件夹

    递归遍历指定路径下的所有文件和文件夹,如果是文件夹则继续向内部遍历,直到获取所有的文件。 测试

    2024年02月14日
    浏览(58)
  • Python文件夹遍历

    常用到文件夹遍历操作,会对文件进行如下操作: 文件夹数量 文件数量 文件类型及各类型数量 文件属性:大小、创建日期、最后修改日期 0. 基本分析 使用 os lib 使用 glob 使用 CSDN 创作助手 和 百度 文心一言分别提问 1. 使用 CSDN 创作助手     - 提问  python 遍历文件夹

    2024年02月10日
    浏览(48)
  • java 在文件夹以及子文件夹中遍历获取指定文件的list

    1.  使用java 递归方法获取指定文件的list,相当于在一个文件夹以及子文件夹,搜索文件的功能。 直接上代码: 

    2024年02月13日
    浏览(63)
  • python遍历文件夹下的所有子文件夹,并将指定的文件复制到指定目录

    在1文件夹中有1,2两个文件夹 将这两个文件夹中的文件复制到 after_copy中 源文件 复制后: 参考1 源文件 复制后 参考2 如果复制bmp文件就将 suffix = \\\".json\\\" 改为 suffix = \\\".bmp\\\"

    2024年02月11日
    浏览(92)
  • Node.js:实现遍历文件夹下所有文件

    Node.js:实现遍历文件夹 代码如下 参考文章 如何使用Node.js遍历文件夹详解

    2024年02月13日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包