VB.NET 创建文件以及文件的读写(创建随机数)
创建文件
Dim strFile As String = String.Format("C:\ErrorLog.txt", DateTime.Today.ToString("dd-MMM-yyyy"))
File.AppendAllText(strFile, String.Format("Error Message in Occured at-- {0}{1}", DateTime.Now, Environment.NewLine))
第一句话的意思是在c盘下面创建一个ErrorLog.txt的文本文档,第二句话的意思是,在这个文本文档中写入"Error Message in Occured at--后面接当前时间,每打印一句就换一行。
上面是直接从本地磁盘写,那么,如果从数据库中要读取后缀.bin的文件,然后在写入本地磁盘该如何做呢?
从数据库读取文件
'读取数据库中bin文件
Dim blobFiles As Integer =
Try
System.IO.Directory.CreateDirectory("C:\var\")
myCommand.CommandText = "select blobFile from evnet.join_server_firmware_version order by dttDateTime desc" '从数据库中读取存放文件字段按时间最新
Dim dr As MySqlDataReader = myCommand.ExecuteReader()
dr.Read()
Dim b(dr.GetBytes(blobFiles, , Nothing, , Integer.MaxValue) - ) As Byte '声明b数组存放读取到的dr
dr.GetBytes(blobFiles, , b, , b.Length) '将b读取到的数存放在blobFiles中
dr.Close()
conn.Close()
conn.Open()
myCommand.CommandText = "select vchfimware_versionName from evnet.join_server_firmware_version order by dttDateTime desc"
VersionName = myCommand.ExecuteScalar
conn.Close()
If System.IO.File.Exists("C:\var\" + VersionName + ".txt") Then '判断当前c盘是否存储有该文件夹 Else
Dim fs12 As New System.IO.FileStream("C:\var\" + VersionName + ".txt ", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite) '无则创建改文件
fs12.Write(b, blobFiles, b.Length) '向创建的文件中开始写,一次性写完
fs12.Close() '关闭读写操作,以免引发异常
fs12.Dispose()
End If
'======================
Catch ex As Exception
Debug.Print("#######################" & ex.StackTrace)
Debug.Print("########" & ex.Message)
Throw ex
End Try
每次只读取2014长度的字节
Dim fs As New System.IO.FileStream("C:\var\" + VersionName + ".txt", IO.FileMode.Open, IO.FileAccess.Read) Dim buffer() As Byte
Dim re As New System.IO.BinaryReader(fs)
Dim numdouble As Double = (fs.Length / )
num = Math.Ceiling(numdouble) '此函数用于判断是否有小数,有小数将自动取整比如:1.2将会取2,1.6将会取2
fs.Seek(i * ByNum.c, SeekOrigin.Begin)
re.Read(buffer, , ) '表示从0位开始读1024位 如果想取分组包长度可用 buffer.Length 如果想取数据则直接可取buffer
将VS中输出的debug统一放入指定的txt文件夹中
Public Const LOG_PATH As String = "C:\Users\Public\Documents\ECharge\"
If Not System.IO.Directory.Exists(Main.LOG_PATH) Then
System.IO.Directory.CreateDirectory(Main.LOG_PATH)
End If
If Not System.IO.Directory.Exists(Main.LOG_PATH & "Connect Server") Then
System.IO.Directory.CreateDirectory(Main.LOG_PATH & "Connect Server")
End If
If Not System.IO.Directory.Exists(Main.LOG_PATH & "Connect Server\Exception\") Then
System.IO.Directory.CreateDirectory(Main.LOG_PATH & "Connect Server\Exception\")
End If
If Not System.IO.Directory.Exists(Main.LOG_PATH & "Connect Server\Exception\" & Main.serverID & "\") Then
System.IO.Directory.CreateDirectory(Main.LOG_PATH & "Connect Server\Exception\" & Main.serverID & "\")
End If
Dim Str As New FileStream(Main.LOG_PATH & "Connect Server\Exception\" & Main.serverID & "\" & "DebugMessages.txt", System.IO.FileMode.Append)
Dim DebugFile As New StreamWriter(Str)
Dim Listener = New TextWriterTraceListener(DebugFile) Debug.Listeners.Add(Listener)
Debug.AutoFlush = True Debug.Print("----- start debug print to file")
上述代码将程序运行的debug放到c盘指定的目录,并创建一个DebguMessage.txt文档,执行后效果图如下:

VB.NET创建随机数
'产生随机数
Try
Dim Vchar As String = "00030,0031,00032,00033,00034,00035"
Dim VcArray() As String = Split(Vchar, ",") '将字符串生成数组
Dim VNum As String = ""
Dim objRandom As Random = New Random
objRandom.Next(, )
VNum = VNum & VcArray(Int(objRandom.Next(, ))) '数组从0开始读取,后面指定读取最大界限,防止数组越界
MessageBox.Show(VNum)
Catch ex As Exception
Debug.Print(ex.Message)
Throw ex
End Try
VB.NET Integer类型转成byte类型并调用sort方法重新对元素排序
Public Sub setChargerStattimeStamp(ByRef StataTimeStamp As Integer)
Try
chargerStatTimeStamp = BitConverter.GetBytes(StataTimeStamp)
Dim sorts As List(Of Byte) = New List(Of Byte)(chargerStatTimeStamp)
sorts.Sort()
chargerStatTimeStamp() = sorts()
chargerStatTimeStamp() = sorts()
chargerStatTimeStamp() = sorts()
chargerStatTimeStamp() = sorts()
Catch ex As Exception
Throw ex
End Try
End Sub
VB.NET byte免拼接高级写法
Public Sub setRemoteUID(ByRef byteArray() As Byte)
Try
'D1 46 A3 6A 5E 08 04 00 01 D7 15 65 0B 94 3D 1D 原始UID:209701631069429
Array.Copy(byteArray, , Me.remoteUid, , UID_LENGTH)
Array.Resize(Me.remoteUid, UID_LENGTH)
ArrayRemove(byteArray, UID_LENGTH)
Dim id As String() = Me.remoteUid.Select(Function(byt) byt.ToString("x2")).ToArray
Dim uid As String = String.Join("-", id).ToUpper
Me.remoteUid_Value = uid
Dim id1 As String() = Me.remoteUid.Select(Function(byt) byt.ToString("x2")).ToArray
Dim uid1 As String = String.Join("", id).ToUpper
Meter_Reading.ByNum.Uid = Me.remoteUid_Value
Meter_Reading.ByNum.vchprivateID = uid1
Debug.Print("##############remoteUid_Value=" & Me.remoteUid_Value)
Debug.Print("##############vchprivateID=" & Meter_Reading.ByNum.vchprivateID)
Catch ex As Exception
Throw ex
End Try
End Sub
end
VB.NET 创建文件以及文件的读写(创建随机数)的更多相关文章
- Java之字符流读写文件、文件的拷贝
字符流读数据 – 按单个字符读取 创建字符流读文件对象: Reader reader = new FileReader("readme.txt"); 调用方法读取数据: int d ...
- python读写、创建文件、文件夹等等
python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...
- C#/VB.NET 创建PDF/UA文件
1.什么是PDF/UA文件 PDF/UA,即Universally Accessible PDF,该格式的PDF文件是于2012年8月以ISO标准14289-1发布的.具有普遍可访问的PDF文档标准. ...
- C# 操作文件类,文件夹存在判断,创建,文件内容读写。
此篇文档是老早就放到草稿箱中了,断断续续编辑了几次.结合自己经常用到的对于文件的操作,结合msdn做此文. 1.File 类 --转自msdn 常用方法: 名称 说明 AppendAllLines(S ...
- Linux 服务器如何设置文件和文件夹的读写权限
修改文件可读写属性的方法 例如:把index.htm 文件修改为可写可读可执行: chmod 777 index.htm 要修改目录下所有文件属性可写可读可执行: chmod 777 *.* 该命令中 ...
- 【测试技术】ant在测试中的使用@文件以及目录的读写删和复制
ant其实就是一个java的打包工具,存在的时间已经很久了,很多同行在使用中可能就是用,对为什么要用它,能够怎么用没有更多的了解: ---------------------------------- ...
- Android SD卡创建文件和文件夹失败
原文:Android SD卡创建文件和文件夹失败 功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃. 一般情况下,是忘记给予sd卡的读写权限.但是这里面权限已经给了,还是报错. 在网 ...
- 7.打开文件、文件读写操作、with方式、文件常用函数
打开文件: 在python3中,打开文件的函数是: open(file, mode='r', buffering=None, encoding=None, errors=None, newline=N ...
- 使用POI读取/创建Execl(.xlsx)文件
最近项目中用到了解析Execl表格的功能,在网上百度了一下自己写了一个小Demo.由于项目中使用的是Execl2007,就是后缀为.xlsx的,所以只研究了解析和创建Execl2007的文件,解析Ex ...
- python判断文件和文件夹是否存在、没有则创建文件夹
原文出处:https://www.cnblogs.com/hushaojun/p/4533241.html >>> import os >>> os.path.ex ...
随机推荐
- 【HDU2896】病毒侵袭 AC自动机
[HDU2896]病毒侵袭 Problem Description 当太阳的光辉逐渐被月亮遮蔽,世界失去了光明,大地迎来最黑暗的时刻....在这样的时刻,人们却异常兴奋--我们能在有生之年看到500年 ...
- 从倒影说起,谈谈 CSS 继承 inherit(转)
从倒影说起,谈谈 CSS 继承 inherit 给定一张有如下背景图的 div: 制作如下的倒影效果: 方法很多,但是我们当然要寻找最快最便捷的方法,至少得是无论图片怎么变化,div 大小怎么变化,我 ...
- HDU 5008 Boring String Problem(后缀数组+二分)
题目链接 思路 想到了,但是木写对啊....代码 各种bug,写的乱死了.... 输出最靠前的,比较折腾... #include <cstdio> #include <cstring ...
- 常用的107条Javascript
1. document.write( " "); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document- >html- >( ...
- php面向对象中的几个基本定义
面向对象: 面向对象是现代编程中的一种重要设计方法,其基本思想是使用对象,类,封装,继承等来进行程序设计. 对象: 一只猪,一只羊,一辆汽车. 类: 类的主要作用就是创建对象. 封装: 类的特点是将对 ...
- 我的emacs配置
我的emacs配置文件 ;; .emacs ;; ============================== Basic Configure START ====================== ...
- 拯救无法启动的虚拟机文件.vmdk中的数据
FROM: http://blog.csdn.net/npy_lp/article/details/7686583 从事Linux开发的软件工程师几乎都使用过虚拟机软件,如VMware worksta ...
- IPC操作时IPC_CREAT和IPC_EXCL选项的说明
IPC(包括消息队列,共享内存,信号量)的xxxget()创建操作时,可以指定IPC_CREAT和IPC_EXCL选项.以共享内存为例:当只有IPC_CREAT选项打开时,不管是否已存在该块共享内存, ...
- 【图文教程】Eclipse for PHP+XAMPP调试配置
一.下载安装XAMPP 下载地址:https://www.apachefriends.org/download.html, 一路“Next”,安装完毕. 二.下载Eclipse for PHP 下载地 ...
- ios 关于问题 no matching provisioning profiles found
ios 关于问题 no matching provisioning profiles found