荣新IT培训中心
全国咨询热线:400-1335-066
您现在的位置:首页>技术文章 > 正文

简述java写入文件的三种方法

时间:2017-07-28 11:30:50 来源:荣新IT教育培训 作者:荣新科技
今天为大家分享的是关于java写入文件的三种方法, 对于喜欢和想要从事java的朋友来说,这是必须要掌握的知识,希望对求知路上的大家有一些帮助
 




 
一   BufferedWriter写入文件
 
缓冲字符(BufferedWriter)是一个字符流类来处置字符数据。不同于字节流(数据转换成字节),你能够直接写字符串,数组或字符数据保管到文件。
 
复制代码代码如下:
 
packagecom.yiibai.iofile;
 
importjava.io.BufferedWriter;
 
importjava.io.File;
 
importjava.io.FileWriter;
 
importjava.io.IOException;
 
publicclassWriteToFileExample{
 
publicstaticvoidmain(String[]args){
 
try{
 
Stringcontent="Thisisthecontenttowriteintofile";
 
Filefile=newFile("/users/mkyong/filename.txt");
 
//iffiledoesntexists,thencreateit
 
if(!file.exists()){
 
file.createNewFile();
 
}
 
FileWriterfw=newFileWriter(file.getAbsoluteFile());
 
BufferedWriterbw=newBufferedWriter(fw);
 
bw.write(content);
 
bw.close();
 
System.out.println("Done");
 
}catch(IOExceptione){
 
e.printStackTrace();
 
}
 
}
 
}
 
二  FileOutputStream写入文件
 
文件输出流是一种用于处置原始二进制数据的字节流类。为了将数据写入到文件中,必需将数据转换为字节,并保管到文件。请参阅下面的完好的例子。
 
复制代码代码如下:
 
packagecom.yiibai.io;
 
importjava.io.File;
 
importjava.io.FileOutputStream;
 
importjava.io.IOException;
 
publicclassWriteFileExample{
 
publicstaticvoidmain(String[]args){
 
FileOutputStreamfop=null;
 
Filefile;
 
Stringcontent="Thisisthetextcontent";
 
try{
 
file=newFile("c:/newfile.txt");
 
fop=newFileOutputStream(file);
 
//iffiledoesntexists,thencreateit
 
if(!file.exists()){
 
file.createNewFile();
 
}
 
//getthecontentinbytes
 
byte[]contentInBytes=content.getBytes();
 
fop.write(contentInBytes);
 
fop.flush();
 
fop.close();
 
System.out.println("Done");
 
}catch(IOExceptione){
 
e.printStackTrace();
 
}finally{
 
try{
 
if(fop!=null){
 
fop.close();
 
}
 
}catch(IOExceptione){
 
e.printStackTrace();
 
}
 
}
 
}
 
}
 
//更新的JDK7例如,运用新的“尝试资源关闭”的办法来轻松处置文件。
 
packagecom.yiibai.io;
 
importjava.io.File;
 
importjava.io.FileOutputStream;
 
importjava.io.IOException;
 
publicclassWriteFileExample{
 
publicstaticvoidmain(String[]args){
 
Filefile=newFile("c:/newfile.txt");
 
Stringcontent="Thisisthetextcontent";
 
try(FileOutputStreamfop=newFileOutputStream(file)){
 
//iffiledoesn'texists,thencreateit
 
if(!file.exists()){
 
file.createNewFile();
 
}
 
//getthecontentinbytes
 
byte[]contentInBytes=content.getBytes();
 
fop.write(contentInBytes);
 
fop.flush();
 
fop.close();
 
System.out.println("Done");
 
}catch(IOExceptione){
 
e.printStackTrace();
 
}
 
}
 
}
 
 
 
三 FileWritter写入文件
 
FileWritter,字符流写入字符到文件。默许状况下,它会运用新的内容取代一切现有的内容,但是,当指定一个true(布尔)值作为FileWritter结构函数的第二个参数,它会保存现有的内容,并追加新内容在文件的末尾。
 
1.交换一切现有的内容与新的内容。
 
newFileWriter(file);2.保存现有的内容和附加在该文件的末尾的新内容。
 
复制代码代码如下:
 
newFileWriter(file,true);
 
追加文件示例
 
一个文本文件,命名为“javaio-appendfile.txt”,并包含以下内容。
 
ABCHello追加新内容newFileWriter(file,true)
 
复制代码代码如下:
 
packagecom.yiibai.file;
 
importjava.io.File;
 
importjava.io.FileWriter;
 
importjava.io.BufferedWriter;
 
importjava.io.IOException;
 
publicclassAppendToFileExample
 
{
 
publicstaticvoidmain(String[]args)
 
{
 
try{
 
Stringdata="Thiscontentwillappendtotheendofthefile";
 
Filefile=newFile("javaio-appendfile.txt");
 
//iffiledoesntexists,thencreateit
 
if(!file.exists()){
 
file.createNewFile();
 
}
 
//true=appendfile
 
FileWriterfileWritter=newFileWriter(file.getName(),true);
 
BufferedWriterbufferWritter=newBufferedWriter(fileWritter);
 
bufferWritter.write(data);
 
bufferWritter.close();
 
System.out.println("Done");
 
}catch(IOExceptione){
 
e.printStackTrace();
 
}
 
}
 
}
 
结果
 
现在,文本文件“javaio-appendfile.txt”内容更新如下:
 
ABCHelloThiscontentwillappendtotheendofthefile

荣新推荐阅读:一个合格java程序员的必备素质

怎么样?是不是感觉体内充满了洪荒之力,跃跃欲试?求知路上的快乐,我们伴您分享,成功的路上我们助你成功!