1

データを永続化するために、msdn からいくつかのコードを書き込んで xml ファイルに読み書きしましたが、少し助けが必要です。Darr という動的配列があります。私が理解しているように、このコードを使用してxmlファイルに保存します。

    Dim objStreamWriter As New StreamWriter("C:\temp\test.xml")
    Dim x As New XmlSerializer(darr.GetType) 
    x.Serialize(objStreamWriter, darr)
    objStreamWriter.Close()

そして、これを読むには:

    Dim objStreamReader As New StreamReader("C:\temp\test.xml")
    darr = x.Deserialize(objStreamReader)
    objStreamReader.Close()

問題は、アプリが起動時にファイルから読み取るようにすることです。つまり、2 番目のブロックが最初に呼び出され、ファイルがまだ終了していない場合は例外がスローされます。(最初のブロックは、ファイルが見つからない場合に自動的に作成します。) 2 つの質問:

  1. アプリを初めて実行したときにファイルを自動的に作成する方法はありますか?
  2. ファイルが空になるので...コードは機能しますか? そうでない場合、回避策はありますか?(よし、質問は3つだ!)
4

1 に答える 1

0
 If Not File.Exists("C:\temp\test.xml") Then 
        ' Create the file. 
          Dim file As System.IO.FileStream
          file = System.IO.File.Create("C:\temp\test.xml")
    Else
           Dim objStreamWriter As New StreamWriter("C:\temp\test.xml")
           Dim x As New XmlSerializer(darr.GetType) 
           x.Serialize(objStreamWriter, darr)
           objStreamWriter.Close()
 End If 
于 2013-05-04T02:47:01.810 に答える