IO
流在我们日常工作中也用得比较多,尽管java已经给我们提供了丰富的API。
但我们不得不每次读取文件,或者写入文件之后,写一些重复的的代码。手动在finally
代码块中关闭流,不然可能会造成内存溢出
。
有个好消息是:如果你使用org.apache.commons.io
包下的IOUtils
类,会节省大量的时间。
{//读取文件 String str = IOUtils.toString(new FileInputStream("/home/test_a.txt"), "UTF-8"); System.out.println(str); } {//写入文件 String str = "111test_b111\n" + "222test_b222"; IOUtils.write(str, new FileOutputStream("/home/test_b.txt"), StandardCharsets.UTF_8.name()); } {//文件拷贝 IOUtils.copy(new FileInputStream("/home/test_a.txt"), new FileOutputStream("/home/test_b.txt")); } {//读取文件内容到字节数组 byte[] bytes = IOUtils.toByteArray(new FileInputStream("/home/test_a.txt")); }