功能:控制台打印表格,支持字段动态长度,左对齐,右对齐,居中,设置最大列长,设置列间隔符,设置最多打印多少行。

类下载地址:http://download.csdn.net/download/j506825719/10211082

简单使用方法:在new的时候,给定列名,和列值List,之后调用printTable就得到了表格字符串。

进阶使用方法:查看所有public方法,就能知道还有什么功能了。

效果图如下:

接口如下:


  1. package com.benjamin.debug.extendclass;
  2. import java.awt.Font;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. /**
  8. *
  9. * @author Benjamin su
  10. * QQ:506825719
  11. * Email:jiang506825719@qq.com
  12. *
  13. */
  14. public class TextTable {
  15. //这个变量只是用来获取字符串的标准长度,修改无意义
  16. private static Font font = new Font("宋体", Font.PLAIN, 16);
  17. private String columnInterval="|";//列之间的间隔符号
  18. private AlignType at=AlignType.Left;
  19. private Integer MaxValueLenth=40;
  20. private Map<String,Integer> maxFieldValueLengthMap=null;
  21. List<String> columnNameList=null;
  22. List<List<String>> columnValueList=null;
  23. private boolean isException=false;
  24. private Integer pringtTableRow=30;
  25. /**
  26. * 初始化时不给定列长度Map
  27. * @param columnNameListTmp
  28. * @param columnValueListTmp
  29. */
  30. public TextTable(List<String> columnNameListTmp,List<List<String>> columnValueListTmp){
  31. }
  32. /**
  33. * 初始化时给定列长度Map
  34. * @param columnNameListTmp
  35. * @param columnValueListTmp
  36. * @param maxFieldValueLengthMapTmp
  37. */
  38. public TextTable(List<String> columnNameListTmp,List<List<String>> columnValueListTmp,Map<String,Integer> maxFieldValueLengthMapTmp){
  39. }
  40. /**
  41. * 获得处理后的表格字符串
  42. * @return
  43. */
  44. public String printTable(){
  45. }
  46. /**
  47. * 获取一个字符串的标准长度是多少
  48. * A2*. 这样是四个标准长度
  49. * 系统系统 这样是8个标准长度
  50. * @param str
  51. * @return
  52. */
  53. public static Integer getStrPixelsLenth(String str){
  54. }
  55. /**
  56. * 让列值居中
  57. * @param columnValue
  58. * @param ColumnPixelsLenth
  59. * @return
  60. */
  61. private String makeValueCenter(String columnValue,Integer repaireStrLength){
  62. }
  63. /**
  64. * 让列值左对齐
  65. * @param columnValue
  66. * @param ColumnPixelsLenth
  67. * @return
  68. */
  69. private String makeValueLeft(String columnValue,Integer repaireStrLength){
  70. }
  71. /**
  72. * 让列值右对齐
  73. * @param columnValue
  74. * @param ColumnPixelsLenth
  75. * @return
  76. */
  77. private String makeValueRight(String columnValue,Integer repaireStrLength){
  78. }
  79. /**
  80. * 获取用于填充的字符串
  81. * @param str
  82. * @param PixelsLenth
  83. * @return
  84. */
  85. private static String getRepairStr(char str,Integer PixelsLenth){
  86. }
  87. /**
  88. * 根据像素长度来切割字符串
  89. * @param str
  90. * @param PixelsLenth
  91. * @return
  92. */
  93. private static String subStrByPixels(String str,Integer PixelsLenth){
  94. }
  95. /**
  96. * 让列值对齐(左对齐OR居中OR右对齐)
  97. * @param columnValue
  98. * @param ColumnPixelsLenth
  99. * @return
  100. */
  101. private String makeValueAlign(String columnValue,Integer ColumnPixelsLenth){
  102. }
  103. /**
  104. * 设置列与列之间用什么间隔,默认是|
  105. * @param columnInterval
  106. */
  107. public void setColumnInterval(String columnInterval) {
  108. }
  109. /**
  110. * 设置列值最大长度,超过则用省略号代替
  111. * @param maxValueLenth
  112. */
  113. public void setMaxValueLenth(Integer maxValueLenth) {
  114. }
  115. /**
  116. * 如果不指定列长度Map,这里将自动计算
  117. * @param columnNameListTmp
  118. * @param columnValueListTmp
  119. * @param maxFieldValueLengthMapTmp
  120. */
  121. private void setMaxFieldValueLengthMap(List<String> columnNameListTmp,List<List<String>> columnValueListTmp,Map<String, Integer> maxFieldValueLengthMapTmp) {
  122. }
  123. /**
  124. * 设置最多打印多少行
  125. * @param pringtTableRow
  126. */
  127. public void setPringtTableRow(Integer pringtTableRow) {
  128. }
  129. /**
  130. * 设置对齐方式
  131. * @param at
  132. */
  133. public void setAt(AlignType at) {
  134. }
  135. public enum AlignType {
  136. Left,
  137. Center,
  138. Rigth
  139. }
  140. }

原文地址:https://blog.csdn.net/j506825719/article/details/78996659

Java Console/控制台 打印表格的更多相关文章

  1. console.table(),在控制台以表格形式输出对象

    今天给大家安利一个属性,console.table(). 它的作用在控制台以表格的形式显示object.这样看起来是不是更方便了呢. var aaa = [ {index:0,name:"1 ...

  2. Postman----打开postman console控制台,查看接口测试打印log

    经常在脚本中使用变量时,你可能需要看到变量获取到的值,你可以使用Postman Console去实现的.操作步骤:应用菜单-->View--->Show Postman Console,去 ...

  3. 控制台console不打印信息的解决办法

    一直用控制台调试,突然不知道怎么回事看不到控制台输出的信息了: 需要检查下面几方面的问题: 1:我的就属于第一个问题,不知道怎么搜索的时候就改变了Filter; 2:确保以上选项是勾选的 3:点击设置 ...

  4. mybatis3.2.3+spring3 控制台打印sql解决办法

    学习mybatis的时候遇到打印不出sql 的问题,在这里做个总结: 1:首先log4j.properties这样配置: log4j.rootLogger=DEBUG,console,R log4j. ...

  5. VS2010-win32下cocos2dx控制台打印的方法

    在xcode中  直接使用printf 或者 cout<<""<<endl;可以直接在控制台打印 但是在VS2010 却死活不好用   真郁闷 ------ ...

  6. node 在控制台打印有色彩的输出

    在学习 node 过程中,因为没有找到有断点的调试方法,只能退而次之,在控制台打印调试. 但整个控制台的输出都是一种颜色,有时候很难找到自己需要的信息,这时,有颜色的打印就会帮上很大的忙. conso ...

  7. Javascript控制台打印Object对象

    Javascript控制台打印Object对象 做项目的时候遇到一个问题,在调试代码时需要打印对象来查看具体数值,想了各种方法也没有实现,最后查资料知道了可以使用JSON.stringify()将ob ...

  8. vc++2010如何新建项目并在控制台打印helloworld

    关于写c++使用什么集成开发环境的问题其实挺纠结的.我找了好久找到codeblocks,发现这款IDE还是最适合用在最标准的c++语法环境中.其实先前装过vs2015旗舰版,但是这款软件太大了,非常消 ...

  9. Console控制台的正确打开方式

    Console控制台的正确打开方式 console对象提供了访问浏览器调试模式的信息到控制台 -- Console对象 |-- assert() 如果第一个参数断言为false,则在控制台输出错误信息 ...

随机推荐

  1. java插件提示安全设定高,不能加载解决方法

    当不可信小应用程序或应用程序在 Web 浏览器中运行时,我应当如何控制? 本文适用于: Java 版本: 7.0, 8.0 通过 Java 控制面板设置安全级别 在 Java 控制面板中,单击 Sec ...

  2. MySQL优化系列之一

    MySQL数据库常见的两个瓶颈是CPU和I/O. CPU在饱和的情况下一般发生在数据装入内存或者从磁盘上读取数据的时候,当装入的数据远大于 内存容量的时候,这时可能会发生I/O瓶颈, 如果是分布式应用 ...

  3. List接口和Set接口及其常用实现类概述

    一.List接口 List:有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元 ...

  4. 数组之间的比较应当用Arrays.equals()

    被坑了,数组之间的比较不能用“==”,应当用Arrays.equals() 如果是原生数组(即数组中的值是几大基本数据类型之一的)之间的比较可以直接用,如果数组中的值不是原生的基本数据类型,那么再使用 ...

  5. Python函数中*args和**kwargs来传递变长参数的用法

    参考自: http://www.jb51.net/article/78705.htm 单星号形式(*args)用来传递非命名键可变参数列表.双星号形式(**kwargs)用来传递键值可变参数列表. 1 ...

  6. 网络体系应用层之万维网、http协议

    1.万维网概述 万维网以客户--服务器方式工作,万维网客户程序就是各式各样的浏览器,万维网文档所驻留的主机则运行服务器程序, 因此这个主机也称为万维网服务器.客户程序向服务器程序发出请求,服务器程序向 ...

  7. LOJ 6436 「PKUSC2018」神仙的游戏——思路+卷积

    题目:https://loj.ac/problem/6436 看题解才会. 有长为 i 的 border ,就是有长为 n-i 的循环节. 考虑如果 x 位置上是 0 . y 位置上是 1 ,那么长度 ...

  8. BUUCTF | [HCTF 2018]admin

    首先爬一遍整个网站,发现有没注册的时候有“login”,"register",这两个页面,注册一个123用户登录后发现有 "index“,”post“,”logout“, ...

  9. 转载:eclipse中web项目小地球没了

    转载自:{FROM:http://www.cnblogs.com/zhouyalei/archive/2013/01/30/2882651.html} MyEclipse下创建的项目 导入eclips ...

  10. spring事务传播行为讲解转载

    https://segmentfault.com/a/1190000013341344 前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为.事务传播行为是 ...