一般来说,将内容写入文本,处理的逻辑如下:
1、获取或生成文件,到指定目录下。
2、在目录下,取到温江,将要写入的内容写入到文件中。
3、如果需要,将写入的文件下载。
代码如下,包括文件获取和创建,内容的写入
// 消息存储路径
private static String filenameTemp;
/**
*
* 创建写入文本
* @param name 文件名
* @return
* @throws IOException
*/
public static boolean creatTxtFile(String name) throws IOException {
String filePath = ClassUtils.getDefaultClassLoader().getResource(ConstantUtil.NULL_STRING).getPath() + ConstantUtil.STATIC_FRONTEND_PROJECT_TEMPLATE;
boolean flag = false;
filenameTemp = java.net.URLDecoder.decode(filePath, ConstantUtil.UTF_8) + java.net.URLDecoder.decode(name, ConstantUtil.UTF_8) + ConstantUtil.WORD_DOC;
File filename = new File(filenameTemp);
if (!filename.exists()) {
filename.createNewFile();
flag = true;
}
return flag;
}
/**
*
* 向文本中写入内容
* @param newStr 需要写入到文本中的内容
* @return
* @throws IOException
*/
public static boolean writeTxtFile(String newStr) throws IOException {
// 先读取原有文件内容,然后进行写入操作
boolean flag = false;
String filein = newStr + ConstantUtil.HUANHANG;
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
FileOutputStream fos = null;
PrintWriter pw = null;
try {
// 文件路径
File file = new File(filenameTemp);
// 将文件读入输入流
fis = new FileInputStream(file);
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
StringBuffer buf = new StringBuffer();
buf.append(filein);
fos = new FileOutputStream(file);
pw = new PrintWriter(fos);
pw.write(buf.toString().toCharArray());
pw.flush();
flag = true;
} catch (IOException e1) {
throw e1;
} finally {
if (pw != null) {
pw.close();
}
if (fos != null) {
fos.close();
}
if (br != null) {
br.close();
}
if (isr != null) {
isr.close();
}
if (fis != null) {
fis.close();
}
}
return flag;
}
ConstantUtil常量类:
// 错误消息存储路径常量
public static final String STATIC_FRONTEND_PROJECT_TEMPLATE = "static/frontend/project/template/";
// .txt字符串常量
public static final String WORD_DOC = ".txt";
// "filePath"字符串常量
public static final String FILEPATH = "filePath";
// 导入错误消息文本字符串常量
public static final String IMPORT_ERROR_MESSAGE = "导入错误消息";
调用方式:
creatTxtFile(name);
writeTxtFile(errorMsg);