-1

次のコードを使用して、プロジェクトのルート フォルダー内のファイルに書き込みます。

public class Service2 : IService2
{

    public Boolean SaveInfo(String firstName, String lastName, DateTime dateOfBirth,
    String email, String streetAddress, String suburb, String state, int postcode,
    Job job)
    {
        string text = firstName + " " + lastName + " " + dateOfBirth + " " + email + " " + streetAddress + " " + suburb + " " + state + " " + postcode + " " + job;
        String[] people = Regex.Split(text, " ");
        using (System.IO.StreamWriter file = new System.IO.StreamWriter("Person.txt", true))
        {
            foreach (string c in people)
            {
            file.Write(c);
            file.Close();
            return true;
            }
            return false;
        }
    }

基本的に、ファイルが書き込まれるかどうかに依存するブール値を返します...ファイルに何が書き込まれるかを実際に見つけるのに苦労しています。実行するとtrueが返されます-WCFテスターでWCFサービスを実行し、ファイルに書き込む値を指定して呼び出します...ただし、右側のソリューションエクスプローラーからPerson.txtファイルを開くと、何も取得されませんそこに書かれている...

だから私の質問は、これはテキスト行をテキスト ファイルに書き込むための最良の方法ですか? もしそうなら、どこが間違っているのでしょうか?

よろしく

4

4 に答える 4

1
    public Boolean SaveInfo(String firstName, String lastName, DateTime dateOfBirth,
String email, String streetAddress, String suburb, String state, int postcode)
    {
        string text = firstName + " " + lastName + " " + dateOfBirth + " " + email + " " + streetAddress + " " + suburb + " " + state + " " + postcode + " ";
        String[] people = Regex.Split(text, " ");
        try
        {
            using (System.IO.StreamWriter file = new System.IO.StreamWriter("Person.txt", true))
            {
                foreach (string c in people)
                {
                    file.Write(c);
                }
                file.Close();
            }
            return true;
        }
        catch (Exception)
        {

            return  false;
        }

    }

配列内の最初の文字列の後にファイルを閉じていましたが、配列内のすべての文字列をループした後にファイルを閉じる必要があります。私にとっては機能していますが、関数呼び出しを確認する必要があるかもしれません

于 2013-08-28T12:06:12.150 に答える
0

これを試して

public Boolean SaveInfo(String firstName, String lastName, DateTime dateOfBirth,
    String email, String streetAddress, String suburb, String state, int postcode,
    Job job)
    {
     try{
            string text = firstName + "\r\n" + lastName + "\r\n" + dateOfBirth + "\r\n" + email + "\r\n" + streetAddress + "\r\n" + suburb + "\r\n" + state + "\r\n" + postcode + "\r\n" + job;

            using (System.IO.StreamWriter file = new System.IO.StreamWriter("Person.txt"))
           {
               file.WriteLine(text );
               file.Close();
               return true;   
           }
       }
       catch(Exception ex)
       {
           return false;
       }
    }
于 2013-08-28T11:59:43.847 に答える