方法一:自己写个输出流方法
直接上代码:
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
依赖
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
再利用依赖中的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
}
}