Java文件输出流将数据写入指定目录的文件

方法一:自己写个输出流方法

直接上代码:

public void writeToFile(String data){
     byte[] sourceByte = data.getBytes();
     String path = "D:/file/";
     String fileName = "test.txt";
     if(null != sourceByte){
         try {
             File file = new File(path+fileName);//文件路径(路径+文件名)
             if (!file.exists()) {   //文件不存在则创建文件,先创建目录
                 File dir = new File(file.getParent());
                 dir.mkdirs();
                 file.createNewFile();
             }
             FileOutputStream outStream = new FileOutputStream(file); //文件输出流将数据写入文件
             outStream.write(sourceByte);
             outStream.close();
         } catch (Exception e) {
             e.printStackTrace();
             // do something
         } finally {
	         // do something
         }
     }
 }

方法二:使用现成的库

先引入commons.io依赖


    commons-io
    commons-io
    2.6

再利用依赖中的FileUtils中的writeByteArrayToFile方法,代码如下:

public void writeToFileWithCommonsIO(String data){
	String path = "D:/file/"
	String filename = "test.txt";
    try {
        byte[] sourceBytes = data.getBytes("UTF-8");
        if(null!=sourceBytes){
            FileUtils.writeByteArrayToFile( new File(path+filename), sourceBytes,false);//这里的false代表写入的文件是从头开始重新写入,或者理解为清空文件内容后重新写;若为true,则是接着原本文件内容的结尾开始写
        }
    } catch (UnsupportedEncodingException e) {
        // do something
    } catch (IOException e){
        // do something
    } finally {
        // do something
    }
}

你可能感兴趣的:(java,io)