Java工具类
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);
}
}
有梦为马,游历天涯!