Java工具类

摘要:
以下操作将导致无休止循环!)示例:importarg.apachemons.io。文件应用程序;importorg.apache.mons.io.filefilter。目录文件筛选器;importorg.apache.mons.io.filefilter。文件文件过滤器;importorg.apache.mons.io.filefilter。IOFileFilter;importjava.io。文件importjava.io。IOException;导入java.util。收集导入java.util。列表;/***@authorAngus*@version1.0*@标题:TestFileUtils*@描述:TODO*@date2018/11/2015:44*/publicclassTestFileUtils{publicstaticvoidmain{TestFileUtils();}privatestaticvoidtestFileUtils(){try{//强制创建文件夹。如果父目录不存在,请首先创建父目录FileUtils.forceMkdir;//删除文件夹FileUtil.deleteDirectory;//向文件中写入字符串。如果文件目录不存在的话,请创建FileUtil.writeStringToFile;//复制文件FileUtils.copyFile;//强制删除FileUtils.forceDelete;//强制创建目录异位症。如果父目录不存在,则创建父目录FileUtils。强制Mkdir//复制文件夹!

IOUtils

  • org.apache.commons.io.IOUtils

方法:

readLines 从输入流中读取多行数据
write 把字节. 字符等写入输出流
toInputStream 将字符串转化为输入流
toString 转化IO流、byte[]、Url为String
toByteArray
copy 拷贝文件,支持2G以上的数据
lineIterator 从输入流返回一个迭代器,根据参数要求读取的数据量,全部读取,如果数据不够,则失败
closeQuietly 关闭流

pom.xml

<dependency>
	 <groupId>org.apache.commons</groupId>
	<artifactId>commons-io</artifactId>
	 <version>1.3.2</version>
</dependency>
  • 示例:
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.LineIterator;
import java.io.*;
import java.util.List;

/**
 * @author Angus
 * @version 1.0
 * @Title: TestIOUtils
 * @Description: TODO
 * @date 2018/11/20 13:13
 */
public class TestIOUtils {

    public static void main(String[] args) {
        testIOUtils();
    }

    private static void testIOUtils() {
        File file = new File("test.json");
        FileInputStream in = null;
        FileOutputStream out = null;
        try {
            in = new FileInputStream(file);
            out = new FileOutputStream("testCopy.json");

            // 从输入流中读取多行数据
            List<String> list = IOUtils.readLines(in, "UTF-8");


            StringBuffer str = new StringBuffer();
            list.forEach(value -> {
                str.append(value);
            });
            // 把字节. 字符等写入输出流
            IOUtils.write(str, out, "UTF-8");


            // 将字符串转化为输入流
            String testWord = "Hello IoUtils!";
            InputStream in2 = IOUtils.toInputStream(testWord);

            // toString转化IO流、byte[]、Url为String
            String inStr = IOUtils.toString(in2, "UTF-8");
            byte[] bytes = IOUtils.toByteArray(in2);
            String byteStr = IOUtils.toString(bytes);

            // 拷贝文件,支持2G以上的数据
            int count = IOUtils.copy(in, out);
            String response = count > 0 ? "拷贝成功" : "拷贝失败,count > 2147483647L";

            // 从输入流返回一个迭代器,根据参数要求读取的数据量,全部读取,如果数据不够,则失败
            LineIterator lineIterator = IOUtils.lineIterator(new FileInputStream(new File("test.json")), "UTF-8");
            while (lineIterator.hasNext()) {
                String line = lineIterator.nextLine();
            }
            lineIterator.close();

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            IOUtils.closeQuietly(in);
            IOUtils.closeQuietly(out);
        }
    }
}

FileUtils

  • org.apache.commons.io.FileUtils

方法:

forceMkdir 强制创建文件夹,如果父级目录不存在则先创建父级目录
deleteDirectory 删除文件夹
writeStringToFile 将String写入文件中,如果文件目录不存在则都创建
copyFile 拷贝文件
forceDelete 强制删除
forceMkdir 强制创建目录,如果父级目录不存在则创建父级目录
copyDirectory 拷贝文件夹! 【警告】如下操作(创建子文件夹),会造成死循环!
listFiles 列举目录下的文件(不是目录!)

  • 示例:
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.FileFileFilter;
import org.apache.commons.io.filefilter.IOFileFilter;

import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.List;

/**
 * @author Angus
 * @version 1.0
 * @Title: TestFileUtils
 * @Description: TODO
 * @date 2018/11/20 15:44
 */
public class TestFileUtils {

    public static void main(String[] args) {
        testFileUtils();
    }

    private static void testFileUtils() {
        try {
            // 强制创建文件夹,如果父级目录不存在则先创建父级目录
            FileUtils.forceMkdir(new File("dir/testDir"));

            // 删除文件夹
            FileUtils.deleteDirectory(new File("dir"));

            // 将String写入文件中,如果文件目录不存在则都创建
            FileUtils.writeStringToFile(new File("dir/testDir/test.json"), "{"name": "zs"}");

            // 拷贝文件
            FileUtils.copyFile(new File("dir/testDir/test.json"), new File("dir/testDir/testCopy.json"));

            // 强制删除
            FileUtils.forceDelete(new File("dir/testDir/test.json"));

            // 强制创建目录,如果父级目录不存在则创建父级目录
            FileUtils.forceMkdir(new File("dir/testDir2/test"));

            // 拷贝文件夹! 【警告】如下操作(创建子文件夹),会造成死循环!
            // FileUtils.copyDirectory(new File("dir"), new File("dir/dirCopy"));
            FileUtils.copyDirectory(new File("dir"), new File("dirCopy"));

            // 列举目录下的文件(不是目录!)
            List<String> coll = (List<String>) FileUtils.listFiles(new File("dir"), FileFileFilter.FILE, DirectoryFileFilter.DIRECTORY);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

StringUtils

  • org.apache.commons.lang3.StringUtils

方法

isBlank
isEmpty
equals
split 字符串分割
EMPTY 返回空字符串
replace 替换字符串
capitalize 首字母大写

pom.xml

<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.8.1</version>
</dependency>
  • 示例:
import org.apache.commons.lang3.StringUtils;

import java.util.Arrays;

/**
 * @author Angus
 * @version 1.0
 * @Title: TestStringUtils
 * @Description: TODO
 * @date 2018/11/20 16:20
 */
public class TestStringUtils {

    public static void main(String[] args) {
        testStringUtils();
    }

    private static void testStringUtils() {
        String str = "Hello-StringUtils!";

        String str2 = "Hello";

        boolean blank = StringUtils.isBlank(str);

        boolean empty = StringUtils.isEmpty(str);

        boolean equals = StringUtils.equals(str, str2);

        String join = StringUtils.join(Arrays.asList("hello", "StringUtils", "!"));
        System.out.println("输出结果为: [hello, StringUtils, !] ");

        // 字符串分割:默认是按空格分割
        String[] splitStrBlank = StringUtils.split(str);
        for (String s : splitStrBlank) {
            System.out.println(s);
        }
        // 自定义风格符
        String[] splitStrKey = StringUtils.split(str, "-");
        for (String s : splitStrKey) {
            System.out.println(s);
        }
        // 返回空字符串
        String emptyStr = StringUtils.EMPTY;
        System.out.println(emptyStr);

        // 替换字符串
        String replaceStr2 = StringUtils.replace(str2, "Hello", "你好!");
        System.out.println(replaceStr2);

        // 首字母大写
        String capitalizeStr2 = StringUtils.capitalize(str2.toLowerCase());
        System.out.println(capitalizeStr2);
    }
}

免责声明:文章转载自《Java工具类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二)RabbitMQ CLI 管理工具 rabbitmqadmin(管理)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

解决cookie跨域访问

如果用户在登录(记录用户上下文信息)后在浏览器客户端上写入cookie,则只能访问与创建cookie的页面相同目录或创建cookie页面的子目录中的网页。这是因为cookie可以由其路径下的页面访问。然后,如果您想在域a中生成一个可以被域a和域B访问的cookie,则需要将cookie的域设置为.test.com;...

Git安装配置(完整版)

/usr/bin/bashcd/var/www/aunsetGIT_DIRgitpulloriginmaster为您提供了另一个权限:chmod755/var/gitdata/a。git/books/post-receivechowngit:git/var/gitdata/a在git/hooks/post-receive模式下,客户端提交代码,服务器项目可以...

关于服务器并发量的简单计算

最简单的计算方式就是根据服务器带宽与页面的大小1.假设机房带宽为10Mbs,页面的大小为20KB同时并发量的理论值:10*1024/=64个请求/秒理论上1秒钟同时可以有64个请求访问页面。本考试系统,登陆的页面容量比较大,所有的js,css以及图片未优化前在400KB左右,我们就以400KB为基准,所有后面要用的文件是在首页一次性加载下来的。这一天的测评情...

Nohup后台运行程序

场景:我现在需要跑脚本批量处理一些数据,但是我又不想盯着控制台看这个脚本的输出结果,想把这些输出结果记录到一个日志文件里面方案:可以使用Linux的nohup命令,把进程挂起,后台执行用法:$nohupXXXXXX.sh˃˃/runtime/deletedata.log&运行结果(这个数字是进程号):˃˃[1]13120有时候可能会报一个提示:$no...

node.js

而同样,Node也提供了child_process.fork来创建Node的子进程。请参考文章后的multi-node的性能测试,可以看到在多Node进程的情景下,响应请求的速度被大幅度提高。在文章的写作中,Node最新发布的0.5.10版本新增了cluster启动参数。参数的使用方式如下:nodeclusterserver.js启动Node的时候,在附加了...

Python生成pyd文件

Python的脚本文件是开源的,量化策略的安全性没有保障。那么要对Python代码进行混淆、加密保护。Python有py、pyc、pyw、pyo、pyd等文件格式。vcvarsall.bat是VC编译Python环境的文件之一。方案1:修改Python安装目录的文件设置方案2:修改注册表我采用方案1,亲测可用。测试结果,用py2exe可以正常使用pyd文件。...