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 ...
随机推荐
- T-SQL Recipes之Organizing and Archiving Data
The Problem 当我们处理存档数据或内存数据时,我们想要自定义命名表名,数据库,架构加上日期,时间,或者应用名时,用标准的TSQL来实现是比较困难的. 假设我们有一张日志表,增长速度异常快.但 ...
- 20161022 NOIP模拟赛 解题报告
好元素 [问题描述] 小A一直认为,如果在一个由N个整数组成的数列{An}中,存在以下情况: Am+An+Ap = Ai (1 <= m, n, p < i <= N , m,n ...
- Search in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
- *HDU1847 博弈
Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- 领域驱动有感<上>
最近看了<领域驱动设计:软件核心复杂性应对之道>,从字面上来看领域驱动就是解决软件复杂性问题的:然而领域驱动设计的门槛很高,没有很深厚的面向对象编码能力几乎不可能实践成功.Martin F ...
- 【五】将博客从jekyll迁移到了hexo
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdo ...
- ecshop二次开发 商品分类描述编辑框
- 看看Maple T.A.的详细作用
Maple T.A.是一个基于互联网的在线考试和智能评分系统,是Maplesoft公司 与美国数学协会(MAA)合作开发的成果,在全球拥有大量的院校用户.Maple T.A.提供了用户数据库.所见即所 ...
- Webpack教程
打开链接:Webpack教程
- 免费开源分布式系统日志收集框架 Exceptionless
前言 从去年就答应过Eric(Exceptionless的作者之一),在中国会帮助给 Exceptionless 做推广,但是由于各种原因一直没有做这件事情,在此对Eric表示歉意.:) Except ...