用丰富的256色装点你的终端,10开机屏幕亮度设置

图片 10

目前比较流行处理excel文档的方式一般有两种,分别是POI和JXL。重量级POI优缺点:适合对excel文档细节有比较专业的要求,如使用公式、宏等高级功能;缺点是操作相对繁琐,非纯java编写的架包,跨平台性有待加强。轻量级JXL优缺点:Jxl是纯javaAPI,跨平台性优越,操作相对简便;缺点是对excel文档的一些高级功能不支持,但可以满足日常需求。这里我们介绍POI的基本使用。

如果你使用Ubuntu
14.10或者Ubuntu
14.04,你就会知道,在笔记本上安装了Ubuntu后,每次开机,系统的屏幕亮度默认是最大的。

端并不只是黑白两色,虽然使用终端可以提高效率,但是这并不意味着我们只能面对非黑即白的界面。也许你的终端的某些应用在展示部分内容时已经使用了16色了,但是这在当今难免感觉还不够细腻。其实,很多终端,比如 xterm、urxvt,以及
Mac OSX 中的 Iterm.app
等都可以支持256色,可以在这些终端下看到更加细腻优雅的颜色表现。

1.首先导入相关架包,如图:

好了,我们在Linux的开机启动脚本上增加修改系统亮度的命令即可。

这里涉及到了几个重要的程序的配置,供大家参考。注意,不是所有的终端和命令行应用都支持256色。

图片 1

1、查看自己的系统亮度的最大值:见图1

 

这里还要注意你开发项目的JDK版本是什么,要根据相应JDK版本下载不同POI的版本。

cd /sys/class/backlight

vim

图片 2

能够区分不同的黄色,可以让你的 vim
看起来更加漂亮。点此下载配色文件,配色文件可按如下引入到你的
vim 配置中:

  1. if $TERM =="xterm"|| $TERM =="rxvt"|| $TERM =="xterm-256color"|| $TERM =="rxvt-unicode"||&term =~"builtin_gui"|| $TERM =="dumb"
  2. set t_Co=256
  3. colorscheme calmar256-dark
  4. else
  5. colorscheme desert
  6. endif

 

如图:

linuxidc@linuxidc:~$ cd /sys/class/backlight
linuxidc@linuxidc:/sys/class/backlight$ ll
总用量 0
drwxr-xr-x  2 root root 0  1月 31  2016 ./
drwxr-xr-x 57 root root 0  1月 31  2016 ../
lrwxrwxrwx  1 root root 0  1月 31 15:25 intel_backlight ->
../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/intel_backlight/
lrwxrwxrwx  1 root root 0  1月 31 15:25 nv_backlight ->
../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-LVDS-2/nv_backlight/
linuxidc@linuxidc:/sys/class/backlight$

mutt

图片 3

配色方案在此,可以通过
source 引入到你的 .muttrc 中:

  1. source ~/.mutt/mutt_color_256

 

图片 4

(笔记本的显卡型号不同->亮度调节文件夹名会不同)。

slrn

图片 5

slrn
支持256色,但是很多元素不支持颜色区分。配色直接写在配置文件中。

 

2.操作ExcelReader辅助类可以处理xls和xlsx文件,readExcelTitle(InputStream
is)方法读取文件标题,也就是文件首行,readExcelContent(InputStream
is)方法读取文件内容:

图片 6

git

图片 7

看看 git log
的输出,是不是更柔和了?配置文件在此。

 

import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
 
import org.apache.log4j.Logger;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
 
/**
 * 操作Excel表格的功能类
 */
public class ExcelReader {
    private static DecimalFormat df = new DecimalFormat(“0”);
    private final static Logger log =
Logger.getLogger(ExcelReader.class);
    private Workbook wb=null;
    private Sheet sheet=null;
    private Row row=null;
 
    /**
    * 读取Excel表格表头的内容
    * @param InputStream
    * @return String 表头内容的数组
    * @throws IOException 
    */
    public String[] readExcelTitle(InputStream is) throws Exception
{
        try {
            wb = WorkbookFactory.create(is);
        } catch (IOException e) {
            log.error(“读取Excel表格表头的内容异常”, e);
            throw e;
        }
        sheet = wb.getSheetAt(0);
        row = sheet.getRow(0);
        // 标题总列数
        int colNum = row.getPhysicalNumberOfCells();
        String[] title = new String[colNum];
        for (int i = 0; i < colNum; i++) {
            title[i] = getCellFormatValue(row.getCell(i));
        }
        log.info(“读取Excel表格表头的内容完毕”);
        return title;
    }
 
    /**
    * 读取Excel数据内容
    * @param InputStream
    * @return Map 包含单元格数据内容的Map对象
    * @throws IOException 
    */
    public Map<Integer, String> readExcelContent(InputStream is)
throws Exception {
        Map<Integer, String> content = new
LinkedHashMap<Integer, String>();
        String str = “”;
        try {
            wb = WorkbookFactory.create(is);
        } catch (IOException e) {
            log.error(“读取Excel数据内容”, e);
            throw e;
        }
        sheet = wb.getSheetAt(0);
        // 得到总行数
        int rowNum = sheet.getLastRowNum();
        row = sheet.getRow(0);
        int colNum = row.getPhysicalNumberOfCells();
        // 正文内容应该从第二行开始,第一行为表头的标题
        for (int i = 1; i <= rowNum; i++) {
            row = sheet.getRow(i);
            int j = 0;
            while (j < colNum) {
                //
每个单元格的数据内容用”-“分割开,以后需要时用String类的replace()方法还原数据
                //
也可以将每个单元格的数据设置到一个javabean的属性中,此时需要新建一个javabean
                // str += getStringCellValue(row.getCell((short)
j)).trim() +
                // “-“;
                if (row != null) {
                    str += getCellFormatValue(row.getCell(j)).trim() +
“,”;
                } else {
                    str += “” + “,”;
                }
                j++;
            }
            content.put(i, str.substring(0, str.length() – 1));
            str = “”;
        }
        log.info(“读取Excel数据内容完毕”);
        return content;
    }
 
    /**
    * 根据Cell类型设置数据
    * @param cell
    * @return
    */
    private String getCellFormatValue(Cell cell) {
        String cellvalue = “”;
        if (cell != null) {
            // 判断当前Cell的Type
            switch (cell.getCellType()) {
            // 如果当前Cell的Type为NUMERIC
            case Cell.CELL_TYPE_NUMERIC:
            case Cell.CELL_TYPE_FORMULA: {
                // 判断当前的cell是否为Date
                if (DateUtil.isCellDateFormatted(cell)) {
                    // 如果是Date类型则,转化为Data格式
 
                    //方法1:这样子的data格式是带时分秒的:2015-12-18
0:00:00
                    //cellvalue =
cell.getDateCellValue().toLocaleString();
 
                   
//方法2:这样子的data格式是不带带时分秒的:2011-10-12
                    Date date = cell.getDateCellValue();
                    SimpleDateFormat sdf = new
SimpleDateFormat(“yyyy-MM-dd”);
                    cellvalue = sdf.format(date);
 
                }
                // 如果是纯数字
                else {
                    // 取得当前Cell的数值
                    cellvalue =
String.valueOf(df.format(cell.getNumericCellValue()));
                }
                break;
            }
            // 如果当前Cell的Type为STRIN
            case Cell.CELL_TYPE_STRING:
                // 取得当前的Cell字符串
                cellvalue = cell.getRichStringCellValue().getString();
                break;
            // 默认的Cell值
            default:
                cellvalue = ” “;
            }
        } else {
            cellvalue = “”;
        }
        return cellvalue;
 
    }
}

图1

man / less

图片 8

对于 Xterm/Urxvt,改变终端的前景/背景/粗体/下划线/斜体的颜色,可以让
less 显示更好的高亮效果。而 less 被用在 man 页面显示中,所以你会发现你的
man
显示更漂亮了。配置文件在此。

另外,可以在你的 $LESS 环境变量中添加 -J
选项,这样在搜索某个内容时,结果所在行的前面会显示一个“*”。

 

简单实例代码,实际使用中应该加上异常处理机制:
12345678910111213      FileInputStream is = new FileInputStream(file);
    ExcelReader excelReader = new ExcelReader();
    String[] title =
excelReader.readExcelTitle(is);//读取文件标题(非文件名,而是文件第一行)
    for (String str : title) {
    System.out.println(str);             
    }
    is.close();
    is = new FileInputStream(file);
    Map<Integer, String> map =
excelReader.readExcelContent(is);//读取文件内容
    for (int i = 1; i <= map.size(); i++) {
        System.out.println(map.get(i));
    }
    is.close();

2、我的是intel_backlight

窗口状态条

很多人喜欢在终端窗口的下方显示一个状态条,尤其是在使用 screen
将窗口分割成几个子窗口时。

图片 9

配置文件在此。

 

相关截图:

cd intel_backlight

ls

图片 10

ls
的彩色输出也可以更好一些。配置文件在此。