百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

vb.net一行行把文本文件读出来,保存到一个数组里

yuyutoo 2024-10-12 01:34 8 浏览 0 评论

我在D:\test目录里,有一个文本文件tiku.txt,它是一个汽车驾驶考试的题库的一部分, 我只取了4条题目,做一个演示。题库内容如下:

1驾驶机动车在道路上违反道路交通安全法的行为,属于什么行为?~过失行为~违规行为~违章行为~违法行为~4~

2未取得驾驶证的学员在道路上学习驾驶技能,下列哪种做法是正确的?~使用所学车型的教练车由教练员随车指导~使用所学车型的教练车单独驾驶学习~使用所学车型的教练车由非教练员的驾驶人随车指导~使用私家车由教练员随车指导~1~

3前方路口这种信号灯亮表示什么意思?~准许通行~提醒注意~路口警示~禁止通行~4~9.png

4驾驶人出现下列哪种情况,不得驾驶机动车?~记分达到10分~记分达到6分~驾驶证丢失、损毁~驾驶证接近有效期~3~

同时,在D:\test目录里,还有一个“BMP”子目录,我保存有一张图片,名为:9.png,因为我下一篇文章,会以这篇文章为基础,做一个文本文件为基础的数据库。

在Visual studio 2022环境中,先拖一个按钮,和一个文本框到窗口里,文本框设置为多行,即:TextBox1.Multiline = True

以下是全部代码:

Imports System.IO

Public Class Form1
    Dim SList() As String '先定义一个数组,用来保存题库

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim FilePath As String = "D:\test\tiku.txt"
        If Dir(FilePath) = "" Then
            MsgBox("没有找到tiku.txt文件",, “提示”)
            Exit Sub
        End If

        Dim LineN As Integer = File.ReadAllLines(FilePath).Length ' 得到文本文件的总行数
        ReDim SList(LineN - 1) '定义数组大小,大小就根据文本文件的总行数来确定

        Dim I As Integer
        Dim Str1 As String '读出一行的文本

        I = -1 '初始值 

        FileOpen(1, FilePath, OpenMode.Input)

        Do While Not EOF(1)
            Str1 = LineInput(1)   ' 读一行
            I = I + 1
            SList(I) = Str1 '把读出的一行加入到数组里
        Loop

        FileClose(1)

        MsgBox(SList(0)) ' 分别报出4条题目,以确认数组读入是否正确
        MsgBox(SList(1))
        MsgBox(SList(2))
        MsgBox(SList(3))

        MsgBox("一共有记录:" & UBound(SList) + 1) '看看数组的记录数,看看是否跟文本的行数相一致

        TextBox1.Text = ""
        For index = 0 To UBound(SList)
            TextBox1.Text = TextBox1.Text & SList(index) & vbCrLf
        Next

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        TextBox1.Multiline = True '文本框可多行显示
    End Sub

运行结果如下:

说明:

  1. 先使用System.IO命名空间中的File类来获取文本文件的行数;然后,根据获取的行数来定义数组的大小。
  2. 再用循环语句,把每读出的一行内容加入到数组里。
  3. 最后用Msgbox语句来看看是否正确把第一行读出来。(记录少,可以这样做)
  4. 再用文本框来显示一下题库的文本内容。

最后,还有一点要说明,题库tiku.txt编码格式要保存为UTF-8

把文本的内容按行的内容加入到数组的代码已经做出,下一篇文章就在此基础上,做出:到第一条记录,到最后一条记录,上一条记录,下一条记录,到任意一条记录 等功能,算是做一个简单的数据库功能。

相关推荐

自卑的人容易患抑郁症吗?(自卑会导致抑郁吗)

Filephoto[Photo/IC]Lowself-esteemmakesusfeelbadaboutourselves.Butdidyouknowthatovert...

中考典型同(近)义词组(同义词考题)

中考典型同(近)义词组...

WPF 消息传递简明教程(wpf messagebox.show)

...

BroadcastReceiver的原理和使用(broadcast-suppression)

一、使用中注意的几点1.动态注册、静态注册的优先级在AndroidManifest.xml中静态注册的receiver比在代码中用registerReceiver动态注册的优先级要低。发送方在send...

Arduino通过串口透传ESP 13板与java程序交互

ESP13---是一个无线板子,配置通过热点通信Arduino通过串口透传ESP13板与java程序交互...

zookeeper的Leader选举源码解析(zookeeper角色选举角色包括)

作者:京东物流梁吉超zookeeper是一个分布式服务框架,主要解决分布式应用中常见的多种数据问题,例如集群管理,状态同步等。为解决这些问题zookeeper需要Leader选举进行保障数据的强一致...

接待外国人英文口语(接待外国友人的英语口语对话)

接待外国人英文口语询问访客身份:  MayIhaveyourname,please?  请问您贵姓?  Whatcompanyareyoufrom?  您是哪个公司的?  Could...

一文深入理解AP架构Nacos注册原理

Nacos简介Nacos是一款阿里巴巴开源用于管理分布式微服务的中间件,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流量管理等。这篇文章主要剖析一下Nacos作为注册中心时其服务注册与...

Android面试宝典之终极大招(android面试及答案)

以下内容来自兆隆IT云学院就业部,根据多年成功就业服务经验,以及职业素养课程部分内容,归纳总结:18.请描述一下Intent和IntentFilter。Android中通过Intent...

除了Crontab,Swoole Timer也可以实现定时任务的

一般的定时器是怎么实现的呢?我总结如下:1.使用Crontab工具,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本;2.ignore_user_abort()和set_time_li...

Spark源码阅读:DataFrame.collect 作业提交流程思维导图

本文分为两个部分:作业提交流程思维导图关键函数列表作业提交流程思维导图...

使用Xamarin和Visual Studio开发Android可穿戴设备应用

搭建开发环境我们需要做的第一件事情是安装必要的工具。因此,你需要首先安装VisualStudio。如果您使用的是VisualStudio2010,2012或2013,那么请确保它是一个专业版本或...

Android开发者必知的5个开源库(android 开发相关源码精编解析)

过去的时间里,Android开发逐步走向成熟,一个个与Android相关的开发工具也层出不穷。不过,在面对各种新鲜事物时,不要忘了那些我们每天使用的大量开源库。在这里,向大家介绍的就是,在这个任劳任怨...

Android事件总线还能怎么玩?(android实现事件处理的步骤)

顾名思义,AndroidEventBus是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码...

Android 开发中文引导-应用小部件

应用小部件是可以嵌入其它应用(例如主屏幕)并收到定期更新的微型应用视图。这些视图在用户界面中被叫做小部件,并可以用应用小部件提供者发布。可以容纳其他应用部件的应用组件叫做应用部件的宿主(1)。下面的截...

取消回复欢迎 发表评论: