2012-09-30 36 views
1

我有一個8列的文本文件。這些列必須左對齊。我已經嘗試使用Formatter.format()。但它沒有奏效。該文件是..如何在java中對齊文本文件的列?

test.txt  0  0  ছোট  JJ  B-JJP  o  - 

test.txt  0  1  ছেলের  NN  B-NP  o  - 

test.txt  0  2  জন্মতিথি  NN  B-NP  o  - 


,我試圖哪一個的代碼是..

/****s1,s2.. contains the token(string) of each line of the file***/ 
fm.format("%-25s %-3s %3s %-30s %-5s %-8s %-20s %-15s", 
    s1,s2,s3,s4,s5,s6,s7,s8); 

str=fm.toString(); 
line.set(i, str); 
+0

請使用一些更好的格式編輯您的問題,以更好地說明您的代碼輸出和您希望輸出的樣子。 –

回答

2

您所使用的孟加拉語字體沒有等寬(固定寬度字符)。你看到的結果是正常的;嘗試使用非等寬字體輸出英文文本,您會看到類似的結果。

無法將其輸出到終端並達到所需的間距。您需要使用基於圖形的輸出方法,並且可以將每個輸出列放置在固定的位置(即PDF)。

+0

感謝您的回答。但是我必須將它輸出到一個文本文件,並且不能使用基於圖形的,因爲這是基於文件的一部分(我必須修改輸入文件,以適當的間距)項目。已經嘗試使用英文文本,它的工作。但是我必須用孟加拉字體的字符串做同樣的事情。 –

+2

除非你能找到一個固定寬度的孟加拉字體,否則這是不可能的。快速谷歌搜索「固定寬度的孟加拉字體」出現[Bangla OpenType字體](http://ekushey.org/?page/solaimanlipi)。不是孟加拉語的人,我不知道這是否適合你。 –