2

これが私が気づいていない本当に単純なものであるかどうかはわかりません。または、単純な試行/キャッチ(おそらく最も可能性が高い)。

フォームにテキストボックスがあります。非常に大きい別のテキストファイル(1Mbを想定)からデータを取り込み、多くの場合それを取り込むことができますが、ファイルをロードするときにプログラムがクラッシュする場合があります。

どうすればこれを処理できますか?

4

1 に答える 1

2

テキスト ボックスに読み込む前に、テキスト ファイルのファイル サイズを読み取ってみることができます。ファイルの長さがテキスト ボックスの容量よりも大きい場合は、テキスト ボックスがいっぱいになるのを防ぐことができます。

File.ReadAllLinesのような関数を使用して、テキスト ファイルのサイズを確認できます。

    Dim AppDataLocation As String = "C:\Files\TestFiles\" 

    Dim sourceDirectoryInfo As New System.IO.DirectoryInfo(AppDataLocation) 

    For Each fileSystemInfo As System.IO.FileSystemInfo In _
                      SourceDirectoryInfo.GetFileSystemInfos 
        Dim FileText As String = System.IO.File.ReadAllText _
                      (AppDataLocation & fileSystemInfo.Name)         
    Next 

または、こちらの例に示すようにFileInfo.Lengthを使用できます。

Dim file As New FileInfo("file.txt")
Dim sizeInBytes As Long = file.Length
于 2013-03-01T13:27:58.300 に答える