Javaでバイト数での空白埋め
空白埋めにはString.format("%10s", value)を使用すれば良いが、
String.format()はマルチバイトも1文字として認識するため、
固定長ファイル出力など、バイト数での空白埋めをするには個別で実装する必要がある。
以下文字をSJISとして扱った場合の空白埋め
public class Test{ public static void main(String []args){ String value = "テスト"; value = fillUpSpace(value, 10); System.out.println(value); //"テスト "として出力される。 } public static String fillUpSpace(String val, int num) { String fillUppedString = val; int len = 0; try { // SJISでのサイズ取得 len = val.getBytes("sjis").length; if (num <= len) { // 引数の桁より少ない場合は引数の桁に切り捨てる fillUppedString = new String(val.getBytes("sjis"), 0, num, "sjis"); } else { for(int i = 0 ; i < (num - len); i++) { fillUppedString = fillUppedString + " "; } } } catch(Exception e) { return ""; } return fillUppedString; } }