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

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. Android笔记(二十七) Android中的动态广播和静态广播

    广播接收器注册一共有两种形式 : 静态注册和动态注册. 两者及其接收广播的区别: 1.动态注册的广播 永远要快于 静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>\ ...

  2. Linux 之 文件

    文件名称 在linux中,windows概念中的文件夹和文件是没有区别的,都是统称为文件. 1.Linux中文件的名称大小写是敏感的 2.名称最多可以为255个字符 3.除了正斜线以外,都是有效字符 ...

  3. c# 定制Equals()

  4. Mongodb数据存储优缺点

    相对于Mysql来说 在项目设计的初期,我当时有了这样的想法,同时也是在满足下面几个条件的情况下来选择最终的nosql方案的: 1.需求变化频繁:开发要更加敏捷,开发成本和维护成本要更低,要能够快速地 ...

  5. @PostMapping和@PutMapping区别

    @PostMapping和@PutMapping作用等同,都是用来向服务器提交信息.如果是添加信息,倾向于用@PostMapping,如果是更新信息,倾向于用@PutMapping.两者差别不是很明显 ...

  6. 0021SpringMVC环境搭建及入门程序编写

    环境搭建: 1.创建项目 创建maven项目,勾选上Create from archetype,然后选中webapp再点击下一步,如下图: 解决项目创建过慢问题: 在创建maven项目过程中加入一组键 ...

  7. PHP基础语法之 位运算

    写了几年PHP的人都好奇说,没有用过位运算符.所以,此处你看二进制看的头晕,就去T¥M¥D吧. 位运算符基本不用,我们也将这个知识设置为了解级别.位运算符的知识点,你不想学习也可以.等以后用到位运算的 ...

  8. 通过反射获取DataSource里数据源的账号密码

    public Connection getDbConnection() { Connection conn = null; // 获得连接 DataSource ds = null; try { Co ...

  9. k8s aliyun mirros

    安装kubernetes的时候,需要安装kubelet, kubeadm等包,但k8s官网给的yum源是packages.cloud.google.com,国内访问不了,此时我们可以使用阿里云的yum ...

  10. learning scala pattern matching

    code: package com.aura.scala.day01 import scala.util.Random object patternMatching01 { def main(args ...