封装参考-FileUtils
package com.iit.utils;
import java.io.*;
import java.util.Properties;
public class FileUtils {
/**
* 从资源文件目录:加载propties文件
* @param fileName
* @param charsetName
* @return
*/
public static Properties loadProps(String fileName,String charsetName) {
InputStream in = FileUtils.class.getClassLoader().getResourceAsStream(fileName);
Properties prop = new Properties();
//prop.load(res);
try {
if(charsetName==null || charsetName.trim().equals("")){
prop.load(new InputStreamReader(in, "UTF-8"));
}else{
prop.load(new InputStreamReader(in, charsetName));
}
} catch (IOException e) {
e.printStackTrace();
}
return prop;
}
public static Properties loadProps(String fileName) {
return loadProps(fileName,"utf-8");
}
/**
* 能够支持将长字符串保存到指定文件中。
* @param path 文件路径 如: d:/demo/a/b,如果目录不存在则自动创建
* @param fileName 文件名 如 1.txt
* @param data 要保存的文本
*/
public static void save(String path,String fileName,String data) {
InputStream is = new ByteArrayInputStream(data.getBytes());
save(path,fileName,is);
}
/**
* 能够支持将大的字节数组保存到指定的文件中。
* @param path 文件路径 如: d:/demo/a/b,如果目录不存在则自动创建
* @param fileName 文件名 如 1.bin
* @param is 要保存的输入流
*/
public static void save(String path,String fileName,InputStream is) {
File tempDir = new File(path);
if (!tempDir.exists()) {
tempDir.mkdirs();
}
String fullFileName = tempDir.getPath() + File.separator + fileName;
try(
OutputStream os= new FileOutputStream(fullFileName);
){
byte[] bs = new byte[512];
int len;
while ((len = is.read(bs)) != -1) {
os.write(bs, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 读取指定文件的内容
* @param fileName 文件名
* @param charsetName 编码名称如utf-8或gbk,为""时表示为utf-8
* @return
*/
public static String read(String fileName,String charsetName) {
charsetName = charsetName.equals("")?"utf-8":charsetName;
File file = new File(fileName);
StringBuilder sb = new StringBuilder();
try(
FileInputStream is = new FileInputStream(file);
InputStreamReader reader = new InputStreamReader(is, charsetName);
BufferedReader br = new BufferedReader(reader);
){
String line;
while((line=br.readLine())!=null){
sb.append(line);
sb.append("\n");
}
}catch (Exception ex){
ex.printStackTrace();
}
return sb.toString();
}
}
本文来自博客园,作者:xiaoyongdata(微信号:xiaoyongdata),转载请注明原文链接:https://www.cnblogs.com/xiaoyongdata/p/16371562.html
浙公网安备 33010602011771号