-2

ねえ、私はすでにこれを尋ねましたが、まだ解決されていません。何も機能しませんでした。ここに私の完全なコードがあります:

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Insertss
{
class Program
{
    static void Main()
    {
        ReadWrite("projektangebote.txt", "inserts.txt");
    }

    static void ReadWrite(string readName, string writeName)
    {
        StreamReader streamReader;
        StreamWriter streamWriter;
        string str;
        List<string> values = new List<string>();
        streamReader = File.OpenText(readName);
        str = streamReader.ReadLine();
        streamWriter = new StreamWriter(writeName);

        while (str != null)                                         
        {
            values.Add(str);                                   
            str = streamReader.ReadLine();               
        }

        foreach (string a in values)
        {
            int temp = 1;
            String[] temparray = a.Split(';');
            streamWriter.WriteLine("Insert into table Firma values({0},'{1}','{2}')", temp, temparray[1], temparray[4]);
            temp++;
        }
        streamReader.Close();
    }
    }
}

挿入します:

PR_Arbeitstitel;PR_Bereich;PR_Firma_Name;PR_Firma_Organisation;PR_Massnahme;PR_Standort;PR_ProjektTeamDaten_ProjektOrt

SAV サイトの概要;bib;;;;PB;

しかし、2 行目 ( Überarbeitung der SAV Seite;bib;;;;PB; ) では、次の理由で IndexOutOfRangeException が発生します。 デバッグ済み

この問題を解決する方法を知っている人はいますか? 文字またはスペースを挿入してください..

4

1 に答える 1

1

JAVA アプリケーション;よだれかけ;Novabig....

これは分割している文字列です -> debugger variableaを参照してください。temparray には、私が提示した文字列の一部が含まれていることもわかります。

間違ったファイルを読み込んでいる可能性があります (名前とディレクトリを確認してください)。デバッガーで読み取られた行を手動で確認し、期待値と一致するかどうかを確認できます。

文字列の分割はここで正常に機能しています。文字列には が 2 つしかないため、文字列のa場合は 3 の配列を与える必要があります。a;

于 2013-12-17T12:23:50.720 に答える