创建文件

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 创建文件以及文件的读写(创建随机数)的更多相关文章

  1. Java之字符流读写文件、文件的拷贝

    字符流读数据 – 按单个字符读取 创建字符流读文件对象: Reader reader = new FileReader("readme.txt"); 调用方法读取数据: int d ...

  2. python读写、创建文件、文件夹等等

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  3. C#/VB.NET 创建PDF/UA文件

    1.什么是PDF/UA文件 PDF/UA,即Universally Accessible PDF,该格式的PDF文件是于2012年8月以ISO标准14289-1发布的.具有普遍可访问的PDF文档标准. ...

  4. C# 操作文件类,文件夹存在判断,创建,文件内容读写。

    此篇文档是老早就放到草稿箱中了,断断续续编辑了几次.结合自己经常用到的对于文件的操作,结合msdn做此文. 1.File 类 --转自msdn 常用方法: 名称 说明 AppendAllLines(S ...

  5. Linux 服务器如何设置文件和文件夹的读写权限

    修改文件可读写属性的方法 例如:把index.htm 文件修改为可写可读可执行: chmod 777 index.htm 要修改目录下所有文件属性可写可读可执行: chmod 777 *.* 该命令中 ...

  6. 【测试技术】ant在测试中的使用@文件以及目录的读写删和复制

    ant其实就是一个java的打包工具,存在的时间已经很久了,很多同行在使用中可能就是用,对为什么要用它,能够怎么用没有更多的了解: ---------------------------------- ...

  7. Android SD卡创建文件和文件夹失败

    原文:Android SD卡创建文件和文件夹失败 功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃. 一般情况下,是忘记给予sd卡的读写权限.但是这里面权限已经给了,还是报错. 在网 ...

  8. 7.打开文件、文件读写操作、with方式、文件常用函数

    打开文件: 在python3中,打开文件的函数是: open(file, mode='r', buffering=None, encoding=None, errors=None, newline=N ...

  9. 使用POI读取/创建Execl(.xlsx)文件

    最近项目中用到了解析Execl表格的功能,在网上百度了一下自己写了一个小Demo.由于项目中使用的是Execl2007,就是后缀为.xlsx的,所以只研究了解析和创建Execl2007的文件,解析Ex ...

  10. python判断文件和文件夹是否存在、没有则创建文件夹

    原文出处:https://www.cnblogs.com/hushaojun/p/4533241.html >>> import os >>> os.path.ex ...

随机推荐

  1. solr DIH 知识梳理

    solr DIH 知识梳理 web.xml中listener配置 <listener> <listener-class>org.apache.solr.handler.data ...

  2. Python for Infomatics 第13章 网页服务四(译)

    这几天因为其他事务,打断了自己的学习计划,今天继续我的翻译,避免又中途而废. 注:文章原文为Dr. Charles Severance 的 <Python for Informatics> ...

  3. C++文件操作(fstream)

    C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstre ...

  4. MacOS下Express安装过程中遇到的问题

    问题描述: 使用nmp install express -g命令全局安装express后,在终端使用express -V命令可以获取到express的版本号,但在引用express的项目运行时,会报缺 ...

  5. c、c++ 常用函数记录

    1.void*  memcpy(char*dest, char*src, size_tnum) 将第二个参数拷贝到第一个参数,最后一个是长度. 2.void *memset(void *s, int ...

  6. img只显示图片一部分 或 css设置背景图片只显示图片指定区域

    17:14 2016/3/22img只显示图片一部分 或 css设置背景图片只显示图片指定区域 background-position: 100% 56%; 设置背景图片显示图片的哪个坐标区域,图片左 ...

  7. PHP注册与登录【3】 用户登录与退出

    登录页面 login.html 负责收集用户填写的登录信息. <fieldset> <legend>用户登录</legend> <form name=&quo ...

  8. 【Java】JDK类 CountDownLatch

    一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 countDown() 方法,所以在当前计数到达 ...

  9. 关于MySQL 的LEFT JOIN ON的问题

    今天在查询视图时,遇到了一个问题. 因为mysq不能嵌套select的子查询.所以我把子查询建成了视图b,主查询通过left join on关联视图b ,形成视图a. 由于视图b中也有left joi ...

  10. Github+Jekyll —— 创建个人免费博客(一)从零开始

    摘要: 本文中我将介绍一下如何在github上搭建个人Blog(博客),也顺便让我们掌握一下github Pages功能,另外还涉及到Jekyll技术. ======================= ...