.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数据类型在所有的操作和使用与字符串方法基本一样,也 ...
随机推荐
- 史无前例的KDD 2014大会记
2014大会记" title="史无前例的KDD 2014大会记"> 作者:蒋朦 微软亚洲研究院实习生 创造多项纪录的KDD 2014 ACM SIGKDD 国际会 ...
- 最优化算法——常见优化算法分类及总结
之前做特征选择,实现过基于群智能算法进行最优化的搜索,看过一些群智能优化算法的论文,在此做一下总结. 在生活或者工作中存在各种各样的最优化问题,比如每个企业和个人都要考虑的一个问题"在一定成 ...
- Java日期时间API系列12-----Jdk8中java.time包中的...
package com.xkzhangsan.time.test; import java.time.LocalDateTime;import java.util.Date; import com.x ...
- 很全很全的 JavaScript 模块讲解
模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元.所谓模块化主要是解决代码分割.作用域隔离.模块之间的依赖管理以及发布到生产环境时的自动化打包与处理等多个方面. ...
- Linux上SVN安装
SVN,Subversion,是一个开源的版本控制系统. svn有两种运行方式:独立的服务器和借助apache运行,各有利弊.
- 使用apache mail发送邮件错误解决办法
今天在写发送邮件的程序时发现了以下两个些错误,贴出来跟大家分享分享 希望对大家有帮助. 错误一: Exception in thread "main" java.lang.NoCl ...
- History of AI
人工智能的历史源远流长.在古代的神话传说中,技艺高超的工匠可以制作人造人,并为其赋予智能或意识.[1]现代意义上的AI始于古典哲学家用机械符号处理的观点解释人类思考过程的尝试.20世纪40年代基于抽象 ...
- 2020年JAVA大厂笔经面经
个人简介 Java后台开发方向. 非计算机专业硕士,专业涉及到一些开发. 实验室项目主要是Java Web系统,挖掘小亮点. 无实习经验. 闲话唠嗑 回顾这几个月,宛若梦一场. 一开始心态不好 ...
- DroidVim:在安卓手机上使用vim
背景 有时候在邮件,钉钉,微信上收到一份文件,急需打开看一下,但有些文件用普通编辑器打开体验实在不佳,例如 patch,log 甚至 bin 文件.由于日常在电脑上使用的是 vim ,一个朴素的想法就 ...
- 常见WAF绕过思路
WAF分类 0x01 云waf 在配置云waf时(通常是CDN包含的waf),DNS需要解析到CDN的ip上去,在请求uri时,数据包就会先经过云waf进行检测,如果通过再将数据包流给主机. 0x02 ...