自编工具总是临时抱佛脚来得顺溜,宜常备手边以提高工作效率:

package com.hy;

import java.io.File;

/**
 * 日常工作常用的一些工具方法
 * @author 逆火
 *
 */
public class CommonTools {
    /**
     * 列出某目录下文件名,在控制台输出
     * @param dir 目录
     * @param extension 文件扩展名,*或all代表全部
     */
    public static void listFilesUnderDir(String dir,String extension) {
        File folder = new File(dir);
        File[] files = folder.listFiles();
        for (int i = 0; i < files.length; i++) {
            if (files[i].isFile()) {
                if(extension.equals("*")||extension.equals("all")) {
                    System.out.println(files[i].getName());
                }else if(files[i].getName().endsWith(extension)) {
                    System.out.println(files[i].getName());
                }
            }
        }
    }

    /**
     * 将一行字符串劈分成数组形式
     * 输入:splitString2Array("qwwq,ew,ew,ew,ew,wwq,wq,121,112",",");
     * 输出:String[] arr={"qwwq","ew","ew","ew","ew","wwq","wq","121","112"};
     * @param line
     */
    public static void splitString2Array(String line,String seperator) {
        String[] arr=line.split(seperator);

        for(int i=0;i<arr.length;i++) {
            arr[i]="\""+arr[i]+"\"";
        }

        System.out.println("String[] arr={"+String.join(",",arr)+"};");
    }

    /**
     * 将一串文字变成竖向
     * @param line
     * @param seperator
     */
    public static void verticalize(String line,String seperator) {
        String[] arr=line.split(seperator);
        System.out.println(String.join("\n",arr));
    }

    public static void main(String[] args) {
        listFilesUnderDir("D:\\sysbackup\\","GHO");
        splitString2Array("北京,杭州,南京,扬州,苏州,无锡,扬中,泰州,镇江",",");
        verticalize("北京,杭州,南京,扬州,苏州,无锡,扬中,泰州,镇江",",");
    }
}

输出:

t440pwin10JavaOffice_190907.GHO
t440pwin10Java_190906.GHO
t440pwin10only_190906.GHO
win10dev190927.GHO
String[] arr={"北京","杭州","南京","扬州","苏州","无锡","扬中","泰州","镇江"};
北京
杭州
南京
扬州
苏州
无锡
扬中
泰州
镇江
/**
     * 读文件,排序,输出
     * @param filePathname
     */
    public static void readSortPrint(String filePathname) {
        try {
            List<String> list=new ArrayList<String>();
            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePathname), "UTF-8"));
            String line = null;
            while( ( line = br.readLine() ) != null )
                list.add(line);
            br.close();  

            Collections.sort(list);

            for(String str:list) {
                System.out.println(str);
            }

        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

--未完待续--

【Java】能提高日常工作效率的一些Java函数的更多相关文章

  1. html样式表极大地提高了工作效率

    样式表极大地提高了工作效率 样式表定义如何显示 HTML 元素,就像 HTML 3.2 的字体标签和颜色属性所起的作用那样.样式通常保存在外部的 .css 文件中.通过仅仅编辑一个简单的 CSS 文档 ...

  2. Android 上能提高学习工作效率的应用

    在知乎上有朋友问 Android 上能提高学习.工作效率的应用有哪些?我给他们的推荐获得了最多赞同.以后会不断完善更新此贴. Any.do :规划日程,各平台都有. Evernote:记笔记,各平台都 ...

  3. 动手使用ABAP Channel开发一些小工具,提升日常工作效率

    今天的故事要从ABAP小游戏说起. 中国的ABAP从业者们手头或多或少都搜集了一些ABAP小游戏,比如下面这些. 消灭星星: 扫雷: 来自我的朋友刘梦,公众号"SAP干货铺"里的俄 ...

  4. 利用 Ant 和 Eclipse 有效地提高部署工作效率

    读者定位为具有 Java 和 Ant 使用经验的开发人员. 读者可以学习到如何使用 Ant 解决一些多用户开发环境中,根据不同的目标环境编译成不同部署包的问题. 工作场景 现在有一个 web 项目,是 ...

  5. Snipaste - 可以提高你工作效率的截图软件

    使用Snipaste提高您的工作效率 Snipaste是一个简单但功能强大的剪切工具,还允许您将屏幕截图固定在屏幕上.下载并启动应用程序,按F1开始剪切,然后按F3将其粘贴为浮动窗口.而已! 您还可以 ...

  6. 使用Fiddler提高前端工作效率 (实例篇)

    上篇中,我们对Fiddler Web Debugger有了简单的接触,也许你已经开始在用Fiddler进行HTTP相关的调试,在这一篇,我们将通过一个实例了解Fiddler的神奇魔法. 在我们前端开发 ...

  7. 使用Fiddler提高前端工作效率 (介绍篇)

    1. Fiddler 是什么? Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器.英语中Fiddler是小提琴的意思,Fiddler Web Debugger就像小提琴一样,可以让 ...

  8. Python 编程实战提高测试工作效率实例之svn 文件管理

    #coding=utf-8 ''' Created on 2016年8月22日 @author:Tom Gao ''' importre importos importtime "" ...

  9. 倍数提高工作效率的 Android Studio 奇技

    来源:JeremyHe 链接:http://zlv.me/posts/2015/07/13/14_android-studio-tips/ 这是从Philippe Breault的系列文章<An ...

随机推荐

  1. SQL SERVER-Login搬迁脚本

    USE master GO IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL DROP PROCEDURE sp_hexadecimal GO CREATE PR ...

  2. 【OF框架】使用IDbContextTransaction在框架中对多个实体进行事务操作

    准备 引用框架,按照规范建立数据库表及对应实体. 一.事务操作 关键代码 示例代码如下: //插入数据,使用数据库事务,不支持多连接. var dbContext = IoCHelper.Resolv ...

  3. tinymce + vue 富文本编辑

    用texterea最多支持换行,如果文本信息想要更加丰富一些,比如增加格式样式,比如增加图片,textarea就爱莫能助了 在网上搜寻了一番,发现tinymce是比较方便好用的一款富文本编辑 http ...

  4. redis高可用之sentinel哨兵

    一,单实例模式 当系统中只有一台redis运行时,一旦该redis挂了,会导致整个系统无法运行. 二,主从模式 由于单台redis出现单点故障,就会导致整个系统不可用,所以想到的办法自然就是备份.当一 ...

  5. Java反射中Class.forName和classloader的区别

    Java中Class.forName和classloader都可以用来对类进行加载. Class.forName除了将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的static块 ...

  6. C# 数值计算、转换

    1.保留小数位 今天再做到计算数值百分比的时候,刚开始试了几个都是不行: , num2 = ; double percent = num2 / num1; , num2 = ; double perc ...

  7. URI和URL、REST

    URI和URL URI(Uniform Resource Identifier ) 是一个紧凑的字符串用来标示抽象或物理资源.可以分为URL,URN或同时具备locators 和names特性的一个东 ...

  8. css 学习笔记 菜鸟

    1 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明: 选择器通常是您需要改变样式的 HTML 元素. 每条声明由一个属性和一个值组成.每个属性有一个值.属性和值被冒号分开.CSS声明总是 ...

  9. 4.Python 进制和位运算

    .button, #logout { color: #333; background-color: #fff; border-color: #ccc; } span#login_widget > ...

  10. group_concat 排序并取前三个

    substring_index(group_concat(distinct num order by num desc),',',3)