java將數據寫入到txt文件中,這個應該對於學過java I/O的人來說是很簡單的事情了,但是如果要將數據以固定的格式寫入到txt文件中,就需要一定的技巧了。
這里舉個簡單的例子,以供參考:
比如我要將數據寫成下面的樣子:
1 | 2 | 3 | 4
5 | 6 | 8 | 9
也許看起來很簡單的,因為每個數據所代表的長度是不一樣的,也有可能編碼不一樣,所有在你看來很簡單的事情就不應那么容易實現了。必須要每一個豎線和他下面的豎線是對其的。
這里就不再將寫數據的過程提出來了,重點是讓每一列的數據都能有一個同樣的寬度:
public String formatStr(String str, int length) { str = " "+str; int strLen = str.getBytes().length; if (strLen < length) { int temp = length - strLen; for (int i = 0; i < temp; i++) { str += ",| "; } } return str ; }
先講解一個這個方法的作用:對於參數str而言,如果他的字節長度小於參數length的話,就用空格補齊。
這樣做,有個問題,就是怎么確定length的長度為多少合適呢?
如果數據是從數據庫中查找出來的,那么就取數據庫中這個字段的最大長度即可。如果是從文件中讀取的,那么最好就是遍歷一下整個文件,從中獲取每個字段的最大長度。
最后將方法返回的str用輸出流寫入到文件中,換行的話使用out.write(lineSeparator)即可。