【Android】已知字符串,输出到文件

版权声明:本文为博主原创文章,商业转载请联系博主获得授权,非商业转载请注明出处,否则追究其法律责任。 https://blog.csdn.net/u013642500/article/details/80153491

转载请注明出处,原文链接:https://blog.csdn.net/u013642500/article/details/80153491

【功能】

已知字符串string,输出到已知路径的文件中,如文件不存在则创建新文件。

【缺陷】

未对权限不足情况进行处理。

【代码】

    /**
     * 功能:已知字符串内容,输出到文件
     *
     * @param filePath 要写文件的文件路径,如:data/data/com.test/files
     * @param fileName 要写文件的文件名,如:abc.txt
     * @param string   要写文件的文件内容
     */
    private void write(String filePath, String fileName, String string) throws IOException {
        File file = new File(filePath);

        // 首先判断文件夹是否存在
        if (!file.exists()) {
            if (!file.mkdirs()) {   // 文件夹不存在则创建文件
                Toast.makeText(getApplicationContext(), "文件夹创建失败", Toast.LENGTH_SHORT).show();
            }
        } else {
            File fileWrite = new File(filePath + File.separator + fileName);

            // 首先判断文件是否存在
            if (!fileWrite.exists()) {
                if (!fileWrite.createNewFile()) {   // 文件不存在则创建文件
                    Toast.makeText(getApplicationContext(), "文件创建失败", Toast.LENGTH_SHORT).show();
                    return;
                }
            }
            // 实例化对象:文件输出流
            FileOutputStream fileOutputStream = new FileOutputStream(fileWrite);

            // 写入文件
            fileOutputStream.write(string.getBytes());

            // 清空输出流缓存
            fileOutputStream.flush();

            // 关闭输出流
            fileOutputStream.close();
        }
    }

/**
     * @param filePath$Name 要写入文件夹和文件名,如:data/data/com.test/files/abc.txt
     * @param string        要写文件的文件内容
     */
    private void write(String filePath$Name, String string) throws IOException {
        File file = new File(filePath$Name);
        // 判断文件是否存在
        if (!file.exists()) {
            File path = new File(file.getParent());
            if (!path.exists() && !path.mkdirs()) {   // 判断文件夹是否存在,不存在则创建文件夹
                Toast.makeText(getApplicationContext(), "文件夹创建失败", Toast.LENGTH_SHORT).show();
                return;
            }
            if (!file.createNewFile()) {    // 创建文件
                Toast.makeText(getApplicationContext(), "文件创建失败", Toast.LENGTH_SHORT).show();
                return;
            }
        }
        // 实例化对象:文件输出流
        FileOutputStream fileOutputStream = new FileOutputStream(file);

        // 写入文件
        fileOutputStream.write(string.getBytes());

        // 清空输出流缓存
        fileOutputStream.flush();

        // 关闭输出流
        fileOutputStream.close();
    }

【代码】

/**
 * 功能:已知字符串内容,输出到文件
 *
 * @param filePath 要写文件的文件路径,如:data/data/com.test/files
 * @param fileName 要写文件的文件名,如:abc.txt
 * @param string   要写文件的文件内容
 */
private void write(String filePath, String fileName, String string) throws IOException {
    File file = new File(filePath);

    // 首先判断文件夹是否存在
    if (!file.exists()) {
        if (!file.mkdirs()) {   // 文件夹不存在则创建文件
            Toast.makeText(getApplicationContext(), "文件夹创建失败", Toast.LENGTH_SHORT).show();
        }
    } else {
        File fileWrite = new File(filePath + File.separator + fileName);

        // 首先判断文件是否存在
        if (!fileWrite.exists()) {
            if (!fileWrite.createNewFile()) {   // 文件不存在则创建文件
                Toast.makeText(getApplicationContext(), "文件创建失败", Toast.LENGTH_SHORT).show();
                return;
            }
        }
        // 实例化对象:文件输出流
        FileOutputStream fileOutputStream = new FileOutputStream(fileWrite);

        // 写入文件
        fileOutputStream.write(string.getBytes());

        // 清空输出流缓存
        fileOutputStream.flush();

        // 关闭输出流
        fileOutputStream.close();
    }
}

/**
 * @param filePath$Name 要写入文件夹和文件名,如:data/data/com.test/files/abc.txt
 * @param string        要写文件的文件内容
 */
private void write(String filePath$Name, String string) throws IOException {
    File file = new File(filePath$Name);
    // 判断文件是否存在
    if (!file.exists()) {
        File path = new File(file.getParent());
        if (!path.exists() && !path.mkdirs()) {   // 判断文件夹是否存在,不存在则创建文件夹
            Toast.makeText(getApplicationContext(), "文件夹创建失败", Toast.LENGTH_SHORT).show();
            return;
        }
        if (!file.createNewFile()) {    // 创建文件
            Toast.makeText(getApplicationContext(), "文件创建失败", Toast.LENGTH_SHORT).show();
            return;
        }
    }
    // 实例化对象:文件输出流
    FileOutputStream fileOutputStream = new FileOutputStream(file);

    // 写入文件
    fileOutputStream.write(string.getBytes());

    // 清空输出流缓存
    fileOutputStream.flush();

    // 关闭输出流
    fileOutputStream.close();
}

猜你喜欢

转载自blog.csdn.net/u013642500/article/details/80153491