VB.NET中如何将一个二维数组写入TXT文件中

时间:2022-01-30 14:01:12
如题:
Dim FilePath As New System.IO.StreamWriter("D:/1.dat", True) 'True追加、False覆盖
        Dim Myi As Integer
        Myi = Me.DataGridView1.RowCount '行数
        Dim Weather1!()
        ReDim Weather1!(2)
        Weather1(1) = Me.DataGridView1.RowCount
        Weather1(0) = qixiang
        Dim Weather2!(,)
        ReDim Weather2!(Myi, 3)
        For i = 0 To Myi - 1
            Weather2(i, 0) = DataGridView1.Rows(i).Cells(1).Value '干球温度
            Weather2(i, 1) = DataGridView1.Rows(i).Cells(2).Value '湿球温度或相对湿度
            Weather2(i, 2) = DataGridView1.Rows(i).Cells(3).Value '大气压力
        Next
        Dim Str As String = ""
        For i = 0 To 1
            Str = Weather1(i) & "," & Str
        Next
        FilePath.WriteLine(Str) '把数组1的数据写入
        FilePath.Close()
    End Sub
我想把Weather2(,)这个数组也写入到.dat文件中,请问该如何实现

PS:如果生成EXE文件后, .dat文件是EXE程序所在的文件

7 个解决方案

#1


那你也像处理一维一样,把二维的当成字符串一起写入不就可以了么。

 Dim Str2 As String = ""

 For i = 0 To Myi - 1

             Str2 =  Str2 & Weather2(i,0)  & " " &  Weather2(i,1)  & "  " &  Weather2(i,2)  & "\r\n" 

  Next

#2


遍历写入就行了....

#3


最好的办法是每个数据一行,一般格式 X Y Value

#4


万分感谢,问题已经解决了,追加问题:如果生成EXE文件后, .dat文件是EXE程序所在的文件夹,此文件夹会改变位置,那么如何定位该.DAT文件从而将数据写入呢?

#5


exe所在文件夹的话,可以通过AppDomain.CurrentDomain.BaseDirectory来获取目录

#6


那这个语句应该怎么写,我按照以下写法,并将1.dat文件放在了“D:\科研利器\VBwenjian\机力塔VB程序开发\jilita\jilita\bin\Debug”文件夹下,结果出现了以下提示
 Dim FilePath As New System.IO.StreamWriter("AppDomain.CurrentDomain.BaseDirectory:/1.dat", False) 

提示:未能找到路径“D:\科研利器\VBwenjian\机力塔VB程序开发\jilita\jilita\bin\Debug\AppDomain.CurrentDomain.BaseDirectory:\1.dat”的一

#7


试试System.IO.File.AppendAllLines()这个方法。

#1


那你也像处理一维一样,把二维的当成字符串一起写入不就可以了么。

 Dim Str2 As String = ""

 For i = 0 To Myi - 1

             Str2 =  Str2 & Weather2(i,0)  & " " &  Weather2(i,1)  & "  " &  Weather2(i,2)  & "\r\n" 

  Next

#2


遍历写入就行了....

#3


最好的办法是每个数据一行,一般格式 X Y Value

#4


万分感谢,问题已经解决了,追加问题:如果生成EXE文件后, .dat文件是EXE程序所在的文件夹,此文件夹会改变位置,那么如何定位该.DAT文件从而将数据写入呢?

#5


exe所在文件夹的话,可以通过AppDomain.CurrentDomain.BaseDirectory来获取目录

#6


那这个语句应该怎么写,我按照以下写法,并将1.dat文件放在了“D:\科研利器\VBwenjian\机力塔VB程序开发\jilita\jilita\bin\Debug”文件夹下,结果出现了以下提示
 Dim FilePath As New System.IO.StreamWriter("AppDomain.CurrentDomain.BaseDirectory:/1.dat", False) 

提示:未能找到路径“D:\科研利器\VBwenjian\机力塔VB程序开发\jilita\jilita\bin\Debug\AppDomain.CurrentDomain.BaseDirectory:\1.dat”的一

#7


试试System.IO.File.AppendAllLines()这个方法。