.NET写入文件操作
2018-01-16 22:44:35
许多程序需要记录运行日志,这就需要将程序运行记录写入本机,一般是.txt 文本或.csv 文件。具体操作如下:
一、C#
//加入外部输入输出的命名空间 using System.IO;
- static void Main(string[] args)
- {
- WriteLog("白日依山尽");
- WriteLog("黄河入海流");
- WriteLog("欲穷千里目");
- WriteLog("更上一层楼");
- Console.ReadKey();
- }
- static void WriteLog(string workinfo)
- {
- //保存运行日志到程序运行文件夹下,并以当前日期命名
- string strpath = Directory.GetCurrentDirectory()+ @"\worklog\" + DateTime.Now.ToString("yyyyMMdd") + ".csv";
- //获取strpath的文件夹名称,并判断不存在是创建文件夹
- if (!Directory.Exists(Path.GetDirectoryName(strpath)))
- {
- Directory.CreateDirectory(Path.GetDirectoryName(strpath));
- }
- //判断文件不存在时,创建该文件
- if (!File.Exists(strpath))
- {
- File.Create(strpath).Close();//创建完毕后,需关闭该IO通道,以使后续读写可继续进行
- }
- //使用数据流写入StreamWriter,true表示可持续写入,Encoding.Default前系统设置的默认字符集编码方式
- StreamWriter sw = new StreamWriter(strpath, true, Encoding.Default);
- sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss " + workinfo));
- //销毁数据数据流通道
- sw.Dispose();
- //
- Console.WriteLine("写入成功");
- }
二、VB.NET
Imports System.IO '外部输出的命名空间 Imports System.Text '文本编码格式的命名空间
- Sub Main()
- WriteLog("白日依山尽")
- WriteLog("黄河入海流")
- WriteLog("欲穷千里目")
- WriteLog("更上一层楼")
- Console.ReadKey()
- End Sub
- Sub WriteLog(ByVal workinfo As String)
- '保存运行日志到程序运行文件夹下,并以当前日期命名
- Dim strpath As String = Directory.GetCurrentDirectory() & "\worklog\" & Now.ToString("yyyyMMdd") & ".csv"
- '获取strpath的文件夹名称,并判断不存在是创建文件夹
- If (Not Directory.Exists(Path.GetDirectoryName(strpath))) Then
- Directory.CreateDirectory(Path.GetDirectoryName(strpath))
- End If
- '判断文件不存在时,创建该文件
- If (Not File.Exists(strpath)) Then
- File.Create(strpath).Close() '创建完毕后,需关闭该IO通道,以使后续读写可继续进行
- End If
- '使用数据流写入StreamWriter,true表示可持续写入,Encoding.Default前系统设置的默认字符集编码方式
- Dim sw As StreamWriter = New StreamWriter(strpath, True, Encoding.Default)
- sw.WriteLine(Now.ToString("yyyy-MM--dd HH:mm:ss ") & workinfo)
- '销毁数据数据流通道
- sw.Dispose()
- Console.WriteLine("写入成功")
- End Sub
三、效果如下:
.NET写入文件操作的更多相关文章
- 【php性能优化】关于写入文件操作的取舍方案
对于使用php对文件进行写入操作有两种方案一种使用 file_put_contents() 和 fopen()/fwrite()/fclose() 两种方案至于应该怎么选,我觉得应该分情况选择,下面是 ...
- Go语言模拟文件断点续传以及多协程读取写入文件操作
今天整理了一个Go语言多协程拷贝文件的案例,之前用Java写过,这次用Go语言来写一下,代码不难,也很简单,但是网上没有案例,整了很长时间.下面贴出来,供其他人参考学习. func main(){ f ...
- Android写入文件操作权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses- ...
- C语言文件操作fclose在NDK引起的BUG
今天在NDK中写了一个简单的写入文件操作: FILE *fp = fopen("/sdcard/test.txt","w"); if(fp == NULL) { ...
- scala简单的文件操作
1.scala写入文件操作 package com.test import java.io.File import java.io.PrintWriter /** * scala文件写入 */ obj ...
- C#中的文件操作2
1. 读取文件的方法: 1. 声明一个文件流: 目的是为了内存与文件之间的桥梁,可以进行数据的往来. FileStream fs = new FileStream(filename,FileMode ...
- python 写入文件形式
写入文件的不只是文本,还有二进制等,字节流是什么样式关系到能否写入文件. 以获取网页写入文件操作示例: response = requests.get("http://www.baidu.c ...
- .Net 并发写入文件的多种方式
1.简介 本文主要演示日常开发中利用多线程写入文件存在的问题,以及解决方案,本文使用最常用的日志案例! 2.使用File.AppendAllText写入日志 这是种常规的做法,通过File定位到日志文 ...
- day 0308 编码的进阶 文件操作
一.编码的进阶: 在python3以后,字符串和bytes类型彻底分开,字符串以字符为单位进行处理的,bytes类型是以字节为单位处理的. bytes数据类型在所有的操作和使用与字符串方法基本一样,也 ...
随机推荐
- HDU 5978 To begin or not to begin
题目:HDU 5978 To begin or not to begin 思路: 题目意思是说:给出n个黑球,一个红球,拿到红球的人胜利.如果先手有优势的输出 1 ,没有优势的输出 2 ,机会均等则输 ...
- c socket 开发测试
c语言异常 参照他人代码写一个tcp的 socket 开发测试 异常A,在mac osx系统下编译失败,缺库转到debian下. 异常B,include引用文件顺序不对,编译大遍异常 异常C,/usr ...
- Mybatis 常见面试题
1.什么是Redis?简述它的优缺点? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到 ...
- spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)
Component注解:把普通的POJO 类实例化到spring的IOC容器中,就是定义成<bean id="" class=""> 项目目录树: ...
- [洛谷P3384] [模板] 树链剖分
题目传送门 显然是一道模板题. 然而索引出现了错误,狂wa不止. 感谢神犇Dr_J指正.%%%orz. 建线段树的时候,第44行. 把sum[p]=bv[pos[l]]%mod;打成了sum[p]=b ...
- 吴裕雄--天生自然 R语言开发学习:中级绘图(续一)
#------------------------------------------------------------------------------------# # R in Action ...
- 上传第三方jar包到nexus
1.创建一个新的repository存放第三方jar包(3rd_party) 2.执行以下命令进行上传:切记需要上传的本地jar包路径不能在本地仓库下,可以随便放一个位置.(以下标红的,请根据自己情况 ...
- documentFragment深入理解
documentFragment是一个保存多个element的容器对象(保存在内存)当更新其中的一个或者多个element时,页面不会更新.只有当documentFragment容器中保存的所有ele ...
- jq ajaxPrefilter 防止重复提交ajax
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 这些科学家用DNA做的鲜为人知事,你估计都没见过!
DNA世界的每一步都给人类带来奇妙甚至吃惊的发现.研究人员越来越多地探索和掌握了生命中的分子.生物与技术之间的界限以前所未有的方式模糊,有时甚至更糟.但DNA也为复杂疾病带来简单的答案,存储奇怪的文件 ...