知识大全 java 文件的缩进排版
Posted 文件
篇首语:书籍是青年人不可分离的生活伴侣和导师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java 文件的缩进排版相关的知识,希望对你有一定的参考价值。
//以下是我做的java 文件的缩进排版 算法有缺点 但能用 //不管怎么说 排java文件时比UltralEdit的排版强 import java io File; import java io PrintStream; import java util ArrayList; import lang Str ; import lang out; import util Load ; class DentJavaCode public static boolean dent(File file File file ) String as[] = new String[ ]; if(file == null || !file exists()) return false; else as = py(file as); ArrayList arraylist = new ArrayList(); dent(as arraylist ); as = (String[])arraylist toArray(as); out b( s len= + as length); py(as file ); return true; public static int dent(ArrayList arraylist ArrayList arraylist int i) if(arraylist == null && arraylist size() == ) System out println( dent frm list but list isnull ); return i; if(arraylist == null) System out println( dent to list but list is null ); return i; else String as[] = new String[ ]; as = (String[])arraylist toArray(as); return dent(as arraylist i); public static String[] dent(String as[] String as [] int i) ArrayList arraylist = new ArrayList(); dent(as arraylist i); if(as == null) as = new String[ ]; return (String[])arraylist toArray(as ); public static int dent(String as[] ArrayList arraylist int i) int j = as length; boolean flag = false; if(as == null || as length == ) 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 = ; l < as.length; 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 < 0) if(flag) arraylist.add(space(2) + as[l]); else arraylist.add(space(i) + as[l]); continue; String s = as[l].substring(i1); if(s.indexOf("") == 0) s = ""; else if(s.indexOf("") == 0) s = ""; else if(s.indexOf("//") == 0) s = "//"; else if(s.indexOf("*/") == 0) s = "*/"; else if(s.indexOf("/*") == 0) s = "/*"; if(s.equals("//")) if(i1 > 0) 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(i1 > ) arraylist add(space( ) + as[l] substring( i )); arraylist add( */ ); i += ; if(k > i ) as[l] = as[l] substring(i ); l ; continue; if(s equals( /* )) flag = true; if(i > ) arraylist add(space(i) + as[l] substring( i )); as[l] = as[l] substring(i ); if((i = Str indexOf_outQuotes( */ as[l] i + )) != ) flag = false; i += ; arraylist add(as[l] substring( i )); if(as[l] length() > i ) as[l] = as[l] substring(i ); l ; continue; if(as[l] length() <= ) continue; arraylist add( /* ); as[l] = as[l] substring( ); if(as[l] length() > ) arraylist add(space( ) + as[l]); continue; if(s equals( )) i ++; if(as[l] indexOf( // ) == i ) arraylist add(space(i) + as[l]); i += increment; continue; arraylist add(space(i) + as[l] substring( i )); i += increment; if(k > i ) as[l] = as[l] substring(i ); l ; continue; if(s equals( )) arraylist add(space(i) + as[l] substring( i )); i = increment; i ++; if(k > i && as[l] charAt(i ) == ; ) arraylist add(space(i) + ; ); i ++; if(k > i ) as[l] = as[l] substring(i ); l ; continue; if(as[l] indexOf( // ) == ) System out println( s[i]= + as[l] + indent= + i); arraylist add(space(i) + as[l]); continue; arraylist add(space(i) + ); if(k > i ) as[l] = as[l] substring(i ); l ; else arraylist add(space(i) + as[l]); return i; static String space(int i) return Str repeat( i); public DentJavaCode(File file) String as[] = null; as = py(file as); ArrayList arraylist = new ArrayList(); dent(as arraylist ); String s = file getName(); int i = ; boolean flag = false; File file ; file = file = new File(s + dent ); i = ; do if(i >= ) break; file = new File(s + dent + i); if(!file exists()) break; i++; while(true); if(file exists()) file delete(); if(file renameTo(file )) String as [] = (String[])arraylist toArray(as); py(as file); System out println( ok ); else System out println( rename:false ); public static void main(String args[]) String args [] = new String[ ]; File file = new File(args[ ]); args = py(file args ); ArrayList arraylist = new ArrayList(); dent(args arraylist ); File file = new File(args[ ] + dent ); int i = ; do if(i >= ) break; file = new File(args[ ] + dent + i); if(!file exists()) break; i++; while(true); if(file exists()) file delete(); String args [] = (String[])arraylist toArray(args ); if(file renameTo(file )) py(args file); System out println( ok ); else System out println( rename:false ); static int increment = ; public static String special[] = // /* */ ; cha138/Article/program/Java/JSP/201311/19308相关参考