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

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. Bash基础——Shell脚本内部常用环境变量

    $@和$*区别 不加引号的时候没区别 #! /usr/bin/bash function print_args_at { printf "%s\n" $@ echo $@ } fu ...

  2. de4dot FAQ

    How to deobfuscate but make sure metadata tokens stay the same? --preserve-tokens will preserve all ...

  3. Error: EACCES: permission denied when trying to install ESLint using npm

    https://stackoverflow.com/questions/35954725/error-eacces-permission-denied-when-trying-to-install-e ...

  4. P2085 最小函数值[优先队列]

    题目描述 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个 ...

  5. python练习题(三)

    题目: 一.二选一 1.每个区生成1个符合身份证规则的身份证号码 2.随机生成10个符合身份证规则的身份证号码 二.要求: 1.身份证属于南京市 2.出生日期为1980-1-1 至 2019-8-1的 ...

  6. selenium.webdriver获取结果转为json格式

    from selenium import webdriver driver.get(requestUrl)html = driver.page_sourcesoup = BeautifulSoup(h ...

  7. Java实习生面试题分享

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别. Java语言提供了八种基本类型: 六种数字类型(四个整数型,两个浮点型) 字节型byte 8位 短整型short 16位 ...

  8. chrome开启headless模式以及代理

    google-chrome-stable --disable-gpu --remote-debugging-port=9222 --headless -remote-debugging-address ...

  9. Base 编解码(转)

    private static final char[] legalChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0 ...

  10. CF480E Parking Lot(two-pointers + 单调队列优化)

    题面 动态加障碍物,同时查询最大子正方形. n,m≤2000n,m\leq2000n,m≤2000 题解 加障碍不好做,直接离线后反着做,每次就是清除一个障碍物. 显然倒着做答案是递增的,而且答案的值 ...