java里可以用ResourceBundle或正则表达式啊。

解决方案 »

  1.   

    104.MessageFormat的用法
    String strHeader ="0.<title>{0}</title>\n1.{1}\n2.{2}\n";    
        String str1=MessageFormat.format(strHeader,new Object[]{" - 请输入尊姓大名"," - 请输入尊姓大名"," - 请输入尊姓大名"});
        System.out.print(str1);    String pattern="On {2},a {0} destroyed {1} houses and caused {3} of damage.";
        MessageFormat mf=new MessageFormat (pattern);
        Object [] msgargs={"hurricane",new Integer(99),new GregorianCalendar(1999,0,1).getTime(),new Double(10e7)};
        String msg=mf.format(msgargs) ;
        System.out.print(msg);
      

  2.   

    搞了这么久java我也没有找到格式化的函数,需要使用的时候只能自己制造了……
        /**
         * 传递一个目录函数并且列出下面的文件夹和文件
         */
        public static void prtFile(File fl){
             ……
         //文件名、后缀名、目录文件、大小、时间、属性、全名
         int[] wdlmt = {8,3,5,0,0,2,4};//预设各项目的显示宽度
         wdlmt[4] = sdf.format (new Date(0)).length ();//设定时间显示的宽度
         //设定文件大小应该占的宽度
         for (int i = 0; i<len; i++)//遍历列表得到大小的最大值
         if (fldes[i][3].length () > wdlmt[3])
         wdlmt[3] = fldes[i][3].length ();
        
         //处理文件名和后缀名为8.3格式
        
        
         int[] wdblk = {0,1,3,1,2,1,1};//各项目之间的间距
         //显示结果
         for (int i = 0; i<len; i++)
         {
         for (int j = 0; j<fldes[i].length; j++)
         {
         String ts = fldes[i][j];
         int lents = ts.length ();
        
         //如果是文件全名则不限定显示宽度,即全部显示
         if (j==6)
         wdlmt[j] = lents;
         int width = wdlmt[j];
        
         //将文件大小有对齐显示
         if (j!=3)
         ts = lents < width?(ts+blankNum(width-lents)):ts.substring (0,width);
         else 
         ts = lents < width?(blankNum(width-lents)+ts):ts.substring (0,width);
        
         //显示最后一项后换行
         if (j == fldes[i].length-1)
         ts = ts + "\n";
         System.out.print(blankNum(wdblk[j])+ts);
         }
         }
        }
        
        /**
         * 显示一定数量空格的小函数,一般用在格式化排版中
         */
        private static String blankNum(int num){
         if (num <= 0)
         return "";
         String tmp = "";
         for (int i = 0; i<num; i++)
         tmp += " ";
         return tmp;
         }