2014-04-24 51 views
2

我想用希伯來語寫一條信息到一個文本文件。我嘗試了以下操作:從右到左寫入一個txt文件

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

但是,消息從左到右出現。我怎樣才能從右向左寫?

+4

在文件中沒有「從右到左」字節組織這樣的事情。只需將所有文本寫入文件(這將是一個內部表示形式),然後在從文件中讀取文件後,根據需要隨時顯示它。 –

+0

用戶的電腦需要先用語言設置,實際上它是記事本中的設置。這裏有一些可能有助於實現你想要的參考:http://www.tertullian.org/rpearse/RightToLeft_Syriac/right_to_left.htm – user3036342

回答

2

字符串是字符數組,這樣你就可以

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

這應該因此扭轉數組當你寫它會從右向左讀。

+0

感謝編輯陌生人看起來更漂亮 – Jackson

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或其他東西?