java文件读取和写入

一般来说,将内容写入文本,处理的逻辑如下:
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);

你可能感兴趣的:(java文件读取和写入)