分享
 
 
 

让你知道:java 文件的缩进排版

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

//以下是我做的Java 文件的缩进排版,算法有缺点.但能用,

//不管怎么说,排java文件时比UltralEdit的排版强。

import java.io.File;

import java.io.PrintStream;

import java.util.ArrayList;

import lang9.Str9;

import lang9.out;

import util9.Load9;

class DentJavaCode

{

public static boolean dent(File file, File file1)

{

String as[] = new String[1];

if(file == null !file.exists())

{

return false;

} else

{

as = Load9.copy(file, as);

ArrayList arraylist = new ArrayList();

dent(as, arraylist, 0);

as = (String[])arraylist.toArray(as);

out.b("s.len=" + as.length);

Load9.copy(as, file1);

return true;

}

}

public static int dent(ArrayList arraylist, ArrayList arraylist1, int i)

{

if(arraylist == null && arraylist.size() == 0)

{

System.out.println("dent frm list1,but list1 isnull");

return i;

}

if(arraylist1 == null)

{

System.out.println("dent to list2,but list2 is null");

return i;

} else

{

String as[] = new String[1];

as = (String[])arraylist.toArray(as);

return dent(as, arraylist1, i);

}

}

public static String[] dent(String as[], String as1[], int i)

{

ArrayList arraylist = new ArrayList();

dent(as, arraylist, i);

if(as1 == null)

as1 = new String[1];

return (String[])arraylist.toArray(as1);

}

public static int dent(String as[], ArrayList arraylist, int i)

{

int j = as.length;

boolean flag = false;

if(as == null as.length == 0)

{

System.out.println("dent from s[],but s[] is null");

return i;

}

if(arraylist == null)

{

System.out.println("dent to list,but list is null");

return i;

}

for(int l = 0; l {if(as[l] == null)continue;as[l] = as[l].trim();int k = as[l].length();if(k == 0)continue;int i1 = Str9.indexOf_outQuotes(special, as[l]);if(i1{if(flag)arraylist.add(space(2) + as[l]);elsearraylist.add(space(i) + as[l]);continue;}String s = as[l].substring(i1);if(s.indexOf("{") == 0)s = "{";elseif(s.indexOf("}") == 0)s = "}";elseif(s.indexOf("//") == 0)s = "//";elseif(s.indexOf("*/") == 0)s = "*/";elseif(s.indexOf("/*") == 0)s = "/*";if(s.equals("//")){if(i10){arraylist.add(space(i) + as[l].substring(0, i1));arraylist.add(space(i) + as[l].substring(i1));} else{arraylist.add(space(i) + as[l]);}continue;}if(s.equals("*/")){flag = false;if(i10)arraylist.add(space(2) + as[l].substring(0, i1));arraylist.add("*/");i1 += 2;if(ki1){as[l] = as[l].substring(i1);l--;}continue;}if(s.equals("/*")){flag = true;if(i10){arraylist.add(space(i) + as[l].substring(0, i1));as[l] = as[l].substring(i1);}if((i1 = Str9.indexOf_outQuotes("*/", as[l], i1 + 2)) != -1){flag = false;i1 += 2;arraylist.add(as[l].substring(0, i1));if(as[l].length()i1){as[l] = as[l].substring(i1);l--;}continue;}if(as[l].length()continue;arraylist.add("/*");as[l] = as[l].substring(2);if(as[l].length()0)arraylist.add(space(2) + as[l]);continue;}if(s.equals("{")){i1++;if(as[l].indexOf("//") == i1){arraylist.add(space(i) + as[l]);i += increment;continue;}arraylist.add(space(i) + as[l].substring(0, i1));i += increment;if(ki1){as[l] = as[l].substring(i1);l--;}continue;}if(s.equals("}")){arraylist.add(space(i) + as[l].substring(0, i1));i -= increment;i1++;if(ki1 && as[l].charAt(i1) == ';'){arraylist.add(space(i) + "};");i1++;if(ki1){as[l] = as[l].substring(i1);l--;}continue;}if(as[l].indexOf("}//") == 0){System.out.println("2s[i]=" + as[l] + ",indent=" + i);arraylist.add(space(i) + as[l]);continue;}arraylist.add(space(i) + "}");if(ki1){as[l] = as[l].substring(i1);l--;}} else{arraylist.add(space(i) + as[l]);}}return i;}static String space(int i){return Str9.repeat(' ', i);}public DentJavaCode(File file){String as[] = null;as = Load9.copy(file, as);ArrayList arraylist = new ArrayList();dent(as, arraylist, 0);String s = file.getName();int i = 0;boolean flag = false;File file1;file1 = file1 = new File(s + "dent0");i = 1;do{if(i= 5)break;file1 = new File(s + "dent" + i);if(!file1.exists())break;i++;} while(true);if(file1.exists())file1.delete();if(file.renameTo(file1)){String as1[] = (String[])arraylist.toArray(as);Load9.copy(as1, file);System.out.println("ok");} else{System.out.println("rename:false");}}public static void main(String args[]){String args1[] = new String[1];File file = new File(args[0]);args1 = Load9.copy(file, args1);ArrayList arraylist = new ArrayList();dent(args1, arraylist, 0);File file1 = new File(args[0] + "dent0");int i = 1;do{if(i= 5)break;file1 = new File(args[0] + "dent" + i);if(!file1.exists())break;i++;} while(true);if(file1.exists())file1.delete();String args2[] = (String[])arraylist.toArray(args1);if(file.renameTo(file1)){Load9.copy(args2, file);System.out.println("ok");} else{System.out.println("rename:false");}}static int increment = 3;public static String special[] = {"{", "}", "//", "/*", "*/"};}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有