Vb.net 将数组保存到文件

Vb.net 将数组保存到文件,vb.net,Vb.net,我一直试图将数组保存到文件中,但我只能创建文本文件,但实际文件中没有显示文本。循环没有按我想要的方式工作。我需要将Cust数组存储到文本文件中 Dim car(4) As Decimal Dim Cust(4) As String 'Declare module-level constants. Const PER_DAY_Integer As Integer = 15 Const PER_MILE_Decimal As Decimal = 0.12D Private Sub CalcB

我一直试图将数组保存到文件中,但我只能创建文本文件,但实际文件中没有显示文本。循环没有按我想要的方式工作。我需要将Cust数组存储到文本文件中

Dim car(4) As Decimal
Dim Cust(4) As String

'Declare module-level constants.
Const PER_DAY_Integer As Integer = 15
Const PER_MILE_Decimal As Decimal = 0.12D



Private Sub CalcButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcButton.Click
    'Calculate the rental charges


    Cust(0) = NameTextBox.Text
    Cust(1) = AddressTextBox.Text
    Cust(2) = CityTextBox.Text
    Cust(3) = ZipTextBox.Text
    Cust(4) = StateTextBox.Text

    Try

        car(0) = Decimal.Parse(BeginTextBox.Text)

        Try
            car(1) = Decimal.Parse(EndTextBox.Text)
            Try

                car(2) = Integer.Parse(DaysTextBox.Text)


                'Calculate the number of miles driven and the charges
                car(3) = car(1) - car(0)
                car(4) = (car(3) * PER_MILE_Decimal + car(2) * PER_DAY_Integer)

                'Display the results
                TotalTextBox.Text = car(4).ToString("C")
                MilesTextBox.Text = car(3).ToString("N1")




            Catch ex As Exception

                MessageBox.Show("Input Error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                DaysTextBox.Focus()

            End Try
        Catch ex As Exception

            MessageBox.Show("Input Error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            EndTextBox.Focus()

        End Try

    Catch ex As Exception

        MessageBox.Show("Input Error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        BeginTextBox.Focus()

    End Try


End Sub

Private Sub ClearButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearButton.Click
    'Clear the form

    AddressTextBox.Clear()
    CityTextBox.Clear()
    StateTextBox.Clear()
    ZipTextBox.Clear()
    BeginTextBox.Clear()
    EndTextBox.Clear()
    DaysTextBox.Clear()
    TotalTextBox.Clear()
    MilesTextBox.Clear()
    With NameTextBox
        .Clear()
        .Focus()
    End With
End Sub

Private Sub ExitButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitButton.Click
    'End the program

    Me.Close()
End Sub

Private Sub PrintButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintButton.Click
    'Print the form

    PrintForm1.PrintAction = Printing.PrintAction.PrintToPreview
    PrintForm1.Print()
End Sub




Private Sub readBtn_Click(sender As Object, e As EventArgs) Handles readBtn.Click

End Sub

Private Sub WriteBtn_Click(sender As Object, e As EventArgs) Handles WriteBtn.Click

    Dim outFile As IO.StreamWriter
    Dim int As Integer = 0
    Dim count As Integer = 0

    outFile = IO.File.CreateText("Cust.txt")


    Do While int < count
        outFile.WriteLine(Cust(1)(int))
        int += 1
    Loop

    outFile.Close()

End Sub
Dim car(4)为十进制
Dim Cust(4)作为字符串
'声明模块级常量。
每\u天的常数\u整数为整数=15
每英里常量十进制=0.12D
私有子CalcButton_Click(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理CalcButton。单击
“计算租金
客户(0)=名称文本框。文本
Cust(1)=AddressTextBox.Text
Cust(2)=CityTextBox.Text
Cust(3)=ZipTextBox.Text
Cust(4)=StateTextBox.Text
尝试
car(0)=Decimal.Parse(BeginTextBox.Text)
尝试
car(1)=Decimal.Parse(EndTextBox.Text)
尝试
car(2)=整数.Parse(DaysTextBox.Text)
'计算行驶里程数和费用
轿厢(3)=轿厢(1)-轿厢(0)
汽车(4)=(汽车(3)*每英里小数+汽车(2)*每天整数)
'显示结果
TotalTextBox.Text=car(4).ToString(“C”)
MilesTextBox.Text=car(3).ToString(“N1”)
特例
显示(“输入错误”,“错误”,MessageBoxButtons.OK,MessageBoxIcon.Error)
DaysTextBox.Focus()
结束尝试
特例
显示(“输入错误”,“错误”,MessageBoxButtons.OK,MessageBoxIcon.Error)
EndTextBox.Focus()
结束尝试
特例
显示(“输入错误”,“错误”,MessageBoxButtons.OK,MessageBoxIcon.Error)
BeginTextBox.Focus()
结束尝试
端接头
私有子ClearButton_Click(ByVal发送者作为System.Object,ByVal e作为System.EventArgs)处理ClearButton。单击
“清理表格
AddressTextBox.Clear()
CityTextBox.Clear()
StateTextBox.Clear()
ZipTextBox.Clear()
BeginTextBox.Clear()
EndTextBox.Clear()
DaysTextBox.Clear()
TotalTextBox.Clear()
MilesTextBox.Clear()
使用NameTextBox
.Clear()
.Focus()
以
端接头
私有子ExitButton_Click(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理ExitButton。单击
"结束节目"
我
端接头
Private Sub PrintButton_Click(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理PrintButton。单击
'打印表单
PrintForm1.PrintAction=Printing.PrintAction.PrintToPreview
PrintForm1.Print()
端接头
私有子readBtn\u单击(发送者作为对象,e作为事件参数)处理readBtn。单击
端接头
私有子WriteBtn\u单击(发送方作为对象,e作为事件参数)处理WriteBtn。单击
将输出文件变暗为IO.StreamWriter
整数形式的整数=0
Dim计数为整数=0
outFile=IO.File.CreateText(“Cust.txt”)
当int

End Class

当您调试时,有人问您调试失败的地方,您显然没有费心调试,或者您已经看到了问题。从您的代码中查看:

Dim int As Integer = 0
Dim count As Integer = 0

outFile = IO.File.CreateText("Cust.txt")


Do While int < count
    outFile.WriteLine(Cust(1)(int))
    int += 1
Loop

当然,您不应该只使用文件名,而应该使用文件路径,但这是另一个问题。

调试时,具体在哪里失败?其他代码都在做什么?你到底为什么有这么多嵌套的
Try
块?这是一个我曾经做过的老项目。这些块用于数据验证,工作正常。它没有失败,我只是得到一个空白的文本文件,我需要它来将数组信息保存到文本文件中。
Cust(1)(int)
也没有做他认为它能做的事情,但我在第一次尝试后就放弃了。我从一位教授那里收到了这个项目,我们应该将数据存储到文件中…@DourHighArch,确实如此。如果使用
File.writeAllines
,希望这不会成为问题。@user2857087,这正是
File.writeAllines
所做的。给猫剥皮通常有多种方法
File.writeAllines
获取字符串或其他对象的列表并将它们写入文件,每行一个。它是一个单行程序,用于打开文件、循环列表、写入每个项目,然后为您关闭文件。如果您需要在两个步骤之间的某个地方做一些不寻常的事情,您只需要自己执行每个步骤。这个错误是什么意思?“进程无法访问文件‘E:\RentalCar-arrays\RentalCar\bin\Debug\Cust.txt’,因为另一个进程正在使用该文件。”
IO.File.WriteAllLines("Cust.txt", Cust)