C #: при экспорте в текстовый файл пули перепутались - PullRequest
1 голос
/ 03 декабря 2011

У меня есть вопрос - когда я export мои данные в текст, мой текстовый файл не создается должным образом - пули перепутались. Я пытался использовать реальную пулю или байтовую пулю; не работает!

Не могли бы вы посоветовать, что я делаю не так?

public void createFile()
{
    String Body;
    String TAB = "\t";
    String RETURN = "\r\n";

    Byte[] buffer = new byte[] { (byte)149 };
    string bullet = Encoding.GetEncoding(1252).GetString(buffer);

    Body = TAB + bullet + TAB + "TEXT1" + RETURN;
    Body = Body + "•" + TAB + "TEXT2" + RETURN;
    System.IO.StreamWriter file = new System.IO.StreamWriter(@"c:\fname.txt");
    file.WriteLine(Body);
    file.Close();
}

Ответы [ 4 ]

2 голосов
/ 06 декабря 2011

Я только что проверил это, и он правильно добавляет маркер в текстовый файл

    String correctString = "\u2022"; 
    System.IO.StreamWriter ansiWriter = new StreamWriter(@"c:\projects\file.txt", false, Encoding.GetEncoding(1250)); 
    ansiWriter.WriteLine(correctString); 
    ansiWriter.Close();             
1 голос
/ 03 декабря 2011
 System.Text.Encoding Encoder = System.Text.ASCIIEncoding.Default;
 Byte[] buffer = new byte[]{(byte)149};
 string bullet = Encoding.GetEncoding(1252).GetString(buffer);
//why are you adding the "." bullet back with BODY = BODY + "." ?

Create a StringBuilder and use the Append Method()

StringBuilder messageBuilder = new StringBuilder(); //add a capacity if you know the size you want like this for example StringBuilder messageBuilder = new StringBuilder(200); 
messageBuilder.Append("\t\u2022\t"); 
messageBuilder.Append("Text1\r\n");

follow the pattern with what you need.
Thanks
1 голос
/ 03 декабря 2011

Исправлена ​​строка 2.

Body = TAB + bullet + TAB + "TEXT1" + RETURN;
Body += TAB + "•" + TAB + "TEXT2" + RETURN;
System.IO.StreamWriter file = new System.IO.StreamWriter(@"c:\fname.txt");
file.WriteLine(Body);
file.Close();
0 голосов
/ 05 декабря 2011

Хорошо, мне нужно было указать другую кодировку:

        String correctString ="•";
        System.IO.StreamWriter ansiWriter = new StreamWriter(@"c:\file.txt", false, Encoding.GetEncoding(1250));
        ansiWriter.WriteLine(correctString);
        ansiWriter.Close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...