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 ...
随机推荐
- 页面制作之HTML
标签 常用属性 id class style title - <a href ="/" title="收藏">收藏</a>(用于hove ...
- dom4j解析示例
收藏信息.xml <?xml version="1.0" encoding="GB2312" standalone="no"?> ...
- 让/etc/profile文件修改后立即生效
方法1: 让/etc/profile文件修改后立即生效 ,可以使用如下命令: # . /etc/profile 注意: . 和 /etc/profile 有空格 方法2: 让/etc/profile ...
- mac安装虚拟机
1. 安装VirtualBox 2. 新建,按照步骤一步步选择 3.安装系统镜像 xp_sp3_74070.iso CN_WIN7_SP1_X64_33in1_V1.2.iso 设置磁盘分区等 4.V ...
- 向mysql中插入Date类型的数据
先看数据库表的定义 date字段为sql.date类型.我要向其中插入指定的日期和当前日期. 一.插入当前日期 思路:先获取当前系统,在将当前系统时间转换成sql类型的时间,然后插入数据库.代码如下 ...
- 安装OS X虚拟机错误vcpu-0:VERIFY vmcore/vmm/main/physMem_monitor.c:1123
新建一个虚拟机, 选择客户机操作系统为Apple MacOS X 10.10, 其余参数可以默认. 注意建好之后不要急着打开客户机, 因为直接打开你会发现新建的客户机将会无法启动. 仔细阅读Mac O ...
- photoshop
photoshop裁剪 photoshop裁剪快捷键是C键: 使用photoshop裁剪工具裁切出图片的方法: 选择好所需要的图片,右键保存到本地计算机' 在photoshop中打开这张图片(文件/打 ...
- canvas初探1
刚申请的博客,当然这也是第一篇.对于canvas也是刚开始着手进行学习,有哪些不对的地方,还望看到本篇博文的朋友指正. 1.canvas的历史 首先,它是HTML5的一个标签. 它是为了客户端矢量图形 ...
- Wine——在Linux上运行Windows软件
官网:https://www.winehq.org/ 参考: wikipedia 教你使用Wine在Linux上运行Windows软件 如何安装和使用Wine,以便在Linux上运行Windows应用 ...
- sublime Text3及其插件的使用
参考:Sublime Text 3 新手上路:必要的安裝.設定與基本使用教學 Sublime Text 相信是許多開發人員人心目中的最愛,然而對一個 Sublime Text 3 的新手來說,有什麼是 ...