动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.自动化WebLogic平台应用程序供应.
.J2EE修炼之四书五经.
.Sun提高Java与.Net兼容型性.
.最大限制地提高代码的可重用性.
.使用simpson规则完成积分运算.
.如何更改 Netbeans 中选项卡的名.
.用maven制作Java项目发行包.
.针对 .NET 开发人员的存储过程评.
.HelloWord 编译方法以及常见错误.
.java基础入门之Hibernate 入门.
.MC4J远程监测Tomcat集群-JMX助To.
.改写的基于SWING的日期选择控件.
.为JAVA性能而设计(2).
.JAVA虚拟机实例学习笔记二.
.servlet规范定义的Servlet 生命周.
.关于使用包的一些提示.
.手机上实现任意角度翻转算法[适用.
.一个简单编程思想在php与java中的.
.利用基本数组类型搭建可自扩展的.
.Jscript 保留字.

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

发表日期:2008-1-5 |



  //以下是我做的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 < 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 > 0)
  arraylist.add(space(2) + as[l].substring(0, i1));
  arraylist.add("*/");
  i1 += 2;
  if(k > i1)
  {
  as[l] = as[l].substring(i1);
  l--;
  }
  continue;
  }
  if(s.equals("/*"))
  {
  flag = true;
  if(i1 > 0)
  {
  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() <= 0)
  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(k > i1)
  {
  as[l] = as[l].substring(i1);
  l--;
  }
  continue;
  }
  if(s.equals("}"))
  {
  arraylist.add(space(i) + as[l].substring(0, i1));
  i -= increment;
  i1++;
  if(k > i1 && as[l].charAt(i1) == ';')
  {
  arraylist.add(space(i) + "};");
  i1++;
  if(k > i1)
  {
  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(k > i1)
  {
  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[] = {
  "{", "}", "//", "/*", "*/"
  };
  
  }
上一篇:程序分享:从UDDI注册中心查询服务 人气:519
下一篇:跟你一起分析JAVA中文比较问题的解决 人气:535
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵