编写一个文件,在每行的开头添加随机字符

Chr*_*ris 1 c# string file-io windows-phone-7

我在Windows Phone 7中使用C#覆盖文件.当我这样做时,在每行的开头添加一个看似随机的字符.

为什么会这样?

码:

public static bool overwriteFile(string filename, string[] inputArray)
    {
        try
        {
            IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();

            FileStream stream = store.OpenFile(filename, FileMode.Create);
            BinaryWriter writer = new BinaryWriter(stream);

            foreach (string input in inputArray)
            {
                writer.Write(input + "\n");
            }

            writer.Close();
            return true;

        }
        catch (IOException ex)
        {
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

Lodaing代码:

public static Idea[] getFile(string filename)
    {
        try
        {
            IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
            string fileContents = null;
            if (store.FileExists(filename)) // Check if file exists
            {
                IsolatedStorageFileStream save = new IsolatedStorageFileStream(filename, FileMode.Open, store);

                StreamReader streamReader = new StreamReader(save);
                fileContents = streamReader.ReadToEnd();
                save.Close();

            }

            string[] lines = null;
            if (fileContents != null)
            {
                lines = fileContents.Split('\n');
            }



            Idea[] ideaList = null;
            if (lines != null)
            {
                ideaList = new Idea[lines.Length];
                for (int i = 0; i < lines.Length; i++)
                {
                    ideaList[i] = new Idea(lines[i].TrimEnd('\r'));
                }
            }

            return ideaList;
        }
        catch (IOException ex)
        {
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

Ric*_*der 6

随机字符是长度前缀; 请参阅http://msdn.microsoft.com/en-us/library/yzxa6408.aspx.

您应该使用某种类型的TextWriter将字符串写入文件; 不是BinaryWriter.

StreamWriter可能是最好的,然后您可以使用WriteLine方法.