从右到左写入txt文件

时间:2014-04-24 07:01:05

标签: c# c#-4.0

我想用希伯来语写一条消息给一个文本文件。我尝试了以下方法:

using (StreamWriter sw = File.CreateText(path + FileName))
{
    sw.WriteLine(sms);
}

然而,消息从左到右出现。我怎么能从右到左书写?

2 个答案:

答案 0 :(得分:2)

字符串是一个Chars数组,所以你可以

Char[] tempArray = sms.ToCharArray()
Array.Reverse(tempArray)
sms = new String(tempArray)

这应该反转数组,因此当你写它时会从右向左阅读。

答案 1 :(得分:2)

好吧,你写它们的方式并不重要。

这是一个小例子:

void Main()
{
    string lines = "First line.\r\nSecond line.\r\nThird line.";
    var = new System.IO.StreamWriter("c:\\test_eng.txt");
    file.WriteLine(lines);
    file.Close();

    string hebrew = @"מספרים רצים מימין לשמאל ?";
    file = new System.IO.StreamWriter("c:\\test_heb.txt");
    file.WriteLine(hebrew);
    file.Close();
}

打开文件后,您会发现希伯来语是希伯来语,并且从右到左显示。

您是否遇到过任何有趣的行为?

您也可以尝试将字符串文化定义为希伯来语:

 // Creates and initializes the CultureInfo which uses the international sort.
  CultureInfo myCIintl = new CultureInfo( "he", false );

有关here (MSDN)的更多信息。

更多思考 - >我怀疑上面的内容对于显示器会有很大的改变,例如它对日期会更有用。但是atm,我无法在我的控制台输出上看到希伯来语...你输出的是什么?只是txt,HTML或其他什么?