2018-01-16  22:44:35


许多程序需要记录运行日志,这就需要将程序运行记录写入本机,一般是.txt 文本或.csv 文件。具体操作如下:

一、C#

  //加入外部输入输出的命名空间 using System.IO; 

  1. static void Main(string[] args)
  2. {
  3. WriteLog("白日依山尽");
  4. WriteLog("黄河入海流");
  5. WriteLog("欲穷千里目");
  6. WriteLog("更上一层楼");
  7. Console.ReadKey();
  8. }
  9. static void WriteLog(string workinfo)
  10. {
  11. //保存运行日志到程序运行文件夹下,并以当前日期命名
  12. string strpath = Directory.GetCurrentDirectory()+ @"\worklog\" + DateTime.Now.ToString("yyyyMMdd") + ".csv";
  13. //获取strpath的文件夹名称,并判断不存在是创建文件夹
  14. if (!Directory.Exists(Path.GetDirectoryName(strpath)))
  15. {
  16. Directory.CreateDirectory(Path.GetDirectoryName(strpath));
  17. }
  18. //判断文件不存在时,创建该文件
  19. if (!File.Exists(strpath))
  20. {
  21. File.Create(strpath).Close();//创建完毕后,需关闭该IO通道,以使后续读写可继续进行
  22. }
  23. //使用数据流写入StreamWriter,true表示可持续写入,Encoding.Default前系统设置的默认字符集编码方式
  24. StreamWriter sw = new StreamWriter(strpath, true, Encoding.Default);
  25. sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss " + workinfo));
  26. //销毁数据数据流通道
  27. sw.Dispose();
  28. //
  29. Console.WriteLine("写入成功");
  30. }

二、VB.NET

Imports System.IO '外部输出的命名空间 Imports System.Text '文本编码格式的命名空间

  1. Sub Main()
  2. WriteLog("白日依山尽")
  3. WriteLog("黄河入海流")
  4. WriteLog("欲穷千里目")
  5. WriteLog("更上一层楼")
  6. Console.ReadKey()
  7. End Sub
  8. Sub WriteLog(ByVal workinfo As String)
  9. '保存运行日志到程序运行文件夹下,并以当前日期命名
  10. Dim strpath As String = Directory.GetCurrentDirectory() & "\worklog\" & Now.ToString("yyyyMMdd") & ".csv"
  11. '获取strpath的文件夹名称,并判断不存在是创建文件夹
  12. If (Not Directory.Exists(Path.GetDirectoryName(strpath))) Then
  13. Directory.CreateDirectory(Path.GetDirectoryName(strpath))
  14. End If
  15. '判断文件不存在时,创建该文件
  16. If (Not File.Exists(strpath)) Then
  17. File.Create(strpath).Close() '创建完毕后,需关闭该IO通道,以使后续读写可继续进行
  18. End If
  19. '使用数据流写入StreamWriter,true表示可持续写入,Encoding.Default前系统设置的默认字符集编码方式
  20. Dim sw As StreamWriter = New StreamWriter(strpath, True, Encoding.Default)
  21. sw.WriteLine(Now.ToString("yyyy-MM--dd HH:mm:ss ") & workinfo)
  22. '销毁数据数据流通道
  23. sw.Dispose()
  24. Console.WriteLine("写入成功")
  25. End Sub

三、效果如下:

.NET写入文件操作的更多相关文章

  1. 【php性能优化】关于写入文件操作的取舍方案

    对于使用php对文件进行写入操作有两种方案一种使用 file_put_contents() 和 fopen()/fwrite()/fclose() 两种方案至于应该怎么选,我觉得应该分情况选择,下面是 ...

  2. Go语言模拟文件断点续传以及多协程读取写入文件操作

    今天整理了一个Go语言多协程拷贝文件的案例,之前用Java写过,这次用Go语言来写一下,代码不难,也很简单,但是网上没有案例,整了很长时间.下面贴出来,供其他人参考学习. func main(){ f ...

  3. Android写入文件操作权限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses- ...

  4. C语言文件操作fclose在NDK引起的BUG

    今天在NDK中写了一个简单的写入文件操作: FILE *fp = fopen("/sdcard/test.txt","w"); if(fp == NULL) { ...

  5. scala简单的文件操作

    1.scala写入文件操作 package com.test import java.io.File import java.io.PrintWriter /** * scala文件写入 */ obj ...

  6. C#中的文件操作2

    1. 读取文件的方法: 1.  声明一个文件流: 目的是为了内存与文件之间的桥梁,可以进行数据的往来. FileStream fs = new FileStream(filename,FileMode ...

  7. python 写入文件形式

    写入文件的不只是文本,还有二进制等,字节流是什么样式关系到能否写入文件. 以获取网页写入文件操作示例: response = requests.get("http://www.baidu.c ...

  8. .Net 并发写入文件的多种方式

    1.简介 本文主要演示日常开发中利用多线程写入文件存在的问题,以及解决方案,本文使用最常用的日志案例! 2.使用File.AppendAllText写入日志 这是种常规的做法,通过File定位到日志文 ...

  9. day 0308 编码的进阶 文件操作

    一.编码的进阶: 在python3以后,字符串和bytes类型彻底分开,字符串以字符为单位进行处理的,bytes类型是以字节为单位处理的. bytes数据类型在所有的操作和使用与字符串方法基本一样,也 ...

随机推荐

  1. HDU 5978 To begin or not to begin

    题目:HDU 5978 To begin or not to begin 思路: 题目意思是说:给出n个黑球,一个红球,拿到红球的人胜利.如果先手有优势的输出 1 ,没有优势的输出 2 ,机会均等则输 ...

  2. c socket 开发测试

    c语言异常 参照他人代码写一个tcp的 socket 开发测试 异常A,在mac osx系统下编译失败,缺库转到debian下. 异常B,include引用文件顺序不对,编译大遍异常 异常C,/usr ...

  3. Mybatis 常见面试题

    1.什么是Redis?简述它的优缺点? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到 ...

  4. spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)

    Component注解:把普通的POJO 类实例化到spring的IOC容器中,就是定义成<bean id="" class=""> 项目目录树: ...

  5. [洛谷P3384] [模板] 树链剖分

    题目传送门 显然是一道模板题. 然而索引出现了错误,狂wa不止. 感谢神犇Dr_J指正.%%%orz. 建线段树的时候,第44行. 把sum[p]=bv[pos[l]]%mod;打成了sum[p]=b ...

  6. 吴裕雄--天生自然 R语言开发学习:中级绘图(续一)

    #------------------------------------------------------------------------------------# # R in Action ...

  7. 上传第三方jar包到nexus

    1.创建一个新的repository存放第三方jar包(3rd_party) 2.执行以下命令进行上传:切记需要上传的本地jar包路径不能在本地仓库下,可以随便放一个位置.(以下标红的,请根据自己情况 ...

  8. documentFragment深入理解

    documentFragment是一个保存多个element的容器对象(保存在内存)当更新其中的一个或者多个element时,页面不会更新.只有当documentFragment容器中保存的所有ele ...

  9. jq ajaxPrefilter 防止重复提交ajax

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 这些科学家用DNA做的鲜为人知事,你估计都没见过!

    DNA世界的每一步都给人类带来奇妙甚至吃惊的发现.研究人员越来越多地探索和掌握了生命中的分子.生物与技术之间的界限以前所未有的方式模糊,有时甚至更糟.但DNA也为复杂疾病带来简单的答案,存储奇怪的文件 ...