-1
Do While inputstream.Peek <> -1
    newstr = inputstream.ReadLine().Split(",")
    item1 = newstr(0)
    item2 = newstr(1)
    item3 = newstr(2)
    item4 = newstr(3)
    item20 = newstr(19)
    Me.ListView1.Items.Add(item1)
    Me.ListView1.Items.Item(ListView1.Items.Count - 1).SubItems.Add(item2)
    Me.ListView1.Items.Item(ListView1.Items.Count - 1).SubItems.Add(item3)
    Me.ListView1.Items.Item(ListView1.Items.Count - 1).SubItems.Add(item4)
    Me.ListView1.Items.Item(ListView1.Items.Count - 1).SubItems.Add(item20)
Loop
inputstream.Close()

範囲外のインデックス エラーが発生しました。CSV ファイルは winamp ライブラリです。誰にもアイデアはありますか?

4

2 に答える 2

0

これは別の推測ですが、曲やアルバムのタイトルの 1 つに改行が含まれている可能性があります。余分なコンマがインデックスの範囲外の例外になるとは思いませんが (「列」が少なくなるのではなく、より多くの「列」になるため)、予期しない改行は確かにそうです。引用符で囲まれたテキストが単一の列として扱われるようにする必要があります。そうしないと、深刻な問題が発生します。

自分でファイルを分割しようとするのではなく、パーサーを使用することをお勧めします。VB.NET を使用している場合は、JET OLE DB を使用できるはずです。

http://www.codeproject.com/Articles/27802/Using-OleDb-to-Import-Text-Files-tab-CSV-customを参照してください。

于 2012-07-10T01:47:54.740 に答える
0

あなたの曲のタイトルにコンマが含まれていると思います。CSV 標準はありませんが、次のサイトがそれに近づきます: creativyst .

多くの場合、コンマを含む要素は、逆コンマ (10 進数で ASCII 文字 34) で囲まれています。

于 2012-07-10T01:42:37.790 に答える