首页 > 技术文章 > java向文件写数据的3种方式

longshiyVip 2015-11-12 16:50 原文

下边列举出了三种向文件中写入数据的方式,当然还有其他方式,帮助自己理解文件写入类的继承关系。类的关系:

file->fileoutputstream->outputstreamWriter(FileWriter继承outputstreamWriter对象)

测试代码:

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;

/**
 * 测试向文件中写文件
 * 
 * @author lenovo
 * 
 */
public class TestWirteFile {

    /**
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        String sContent = "2015年的双十一真的是非常火爆!";
        String sDestFile = "F:/myWrite.txt";
        File destFile = new File(sDestFile);
        if (!destFile.exists()) {
            destFile.createNewFile();
        }

        // 1.向文件写入内容
        // writeByFileWrite(sDestFile, sContent);

        // 2.FileOutputStream向文件写入内容
        // writeByFileWrite(sDestFile, sContent);

        // 2.OutputStreamWriter向文件写入内容
        writeByOutputStreamWrite(sDestFile, sContent);
    }

    /**
     * 用FileWrite向文件写入内容
     * 
     * @param _destFile
     * @throws IOException
     */
    public static void writeByFileWrite(String _sDestFile, String _sContent)
            throws IOException {
        FileWriter fw = null;
        try {
            fw = new FileWriter(_sDestFile);
            fw.write(_sContent);
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            if (fw != null) {
                fw.close();
                fw = null;
            }
        }
    }

    /**
     * 用FileOutputStream向文件写入内容
     * 
     * @param _destFile
     * @throws IOException
     */
    public static void writeByFileOutputStream(String _sDestFile,
            String _sContent) throws IOException {
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(_sDestFile);
            fos.write(_sContent.getBytes());
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            if (fos != null) {
                fos.close();
                fos = null;
            }
        }
    }

    /**
     * 用OutputStreamWrite向文件写入内容
     * 
     * @param _destFile
     * @throws IOException
     */
    public static void writeByOutputStreamWrite(String _sDestFile,
            String _sContent) throws IOException {
        OutputStreamWriter os = null;
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(_sDestFile);
            os = new OutputStreamWriter(fos, "UTF-8");
            os.write(_sContent);
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            if (os != null) {
                os.close();
                os = null;
            }
            if (fos != null) {
                fos.close();
                fos = null;
            }

        }
    }

}

 

推荐阅读