导航:首页 > 编程语言 > java追加写文件

java追加写文件

发布时间:2024-07-19 08:42:12

java文件读写 在一个已经有内容的文件中追加第一行 如何做到

如果要在已有内容的文件开头插入内容就只能先把原内容读出来,然后先写入要插入的东西,然后再把原内容写回去,然后关闭输出流

如果要在已有内容的文件末尾追加内容就比较简单了

在创建FileOutputStream对象的时候第二个参数给个true,就表示续写文件,而非覆盖文件已有内容了

newFileOutputStream(file,true)

❷ java:往文件中写数据,新写入的数据总是覆盖原有数据,怎么能实现追加功能呢

File file=new File("f:/a.txt");
BufferedWriter bw=null;
try {
bw=new BufferedWriter(new FileWriter(file,true));
bw.write("efg");
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这里关键代码bw=new BufferedWriter(new FileWriter(file,true));
后面参数的true,就代表即使a.txt里面有内容,也不会替换。

❸ java 一个文件内容写入或追加到另一个文件和一个文件内容复制到另一个文件在方法上有什么区别吗

楼上的审题,人家题主问的是“文件追加写入”和“文件复制”有没有区别,不是问你怎么实现文件追加复制。
我觉得吧这个得看你的两段代码了,其实想来是没有区别的,复制的本质还是先读文件,再把读出来的东西写到目标文件了。关键在于调用write()方法时追加标志append是true还是false,追加标志默认是false的,也就是不追加,直接覆盖目标文件。

❹ java如何追加写入txt文件

java中,对文件进行追加内容操作的三种方法!

importjava.io.BufferedWriter;
importjava.io.FileOutputStream;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.OutputStreamWriter;
importjava.io.PrintWriter;
importjava.io.RandomAccessFile;
//如果文件存在,则追加内容;如果文件不存在,则创建文件,追加内容的三种方法
{
@SuppressWarnings("static-access")
publicstaticvoidmain(String[]args){
AppendContentToFilea=newAppendContentToFile();
a.method1();
a.method2("E:\dd.txt","222222222222222");
a.method3("E:\dd.txt","33333333333");
}

方法1:

publicvoidmethod1(){
FileWriterfw=null;
try{
//如果文件存在,则追加内容;如果文件不存在,则创建文件
Filef=newFile("E:\dd.txt");
fw=newFileWriter(f,true);
}catch(IOExceptione){
e.printStackTrace();
}
PrintWriterpw=newPrintWriter(fw);
pw.println("追加内容");
pw.flush();
try{
fw.flush();
pw.close();
fw.close();
}catch(IOExceptione){
e.printStackTrace();
}
}

方法2:

publicstaticvoidmethod2(Stringfile,Stringconent){
BufferedWriterout=null;
try{
out=newBufferedWriter(newOutputStreamWriter(
newFileOutputStream(file,true)));
out.write(conent+" ");
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

方法3:

publicstaticvoidmethod3(StringfileName,Stringcontent){
try{
//打开一个随机访问文件流,按读写方式
RandomAccessFilerandomFile=newRandomAccessFile(fileName,"rw");
//文件长度,字节数
longfileLength=randomFile.length();
//将写文件指针移到文件尾。
randomFile.seek(fileLength);
randomFile.writeBytes(content+" ");
randomFile.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

❺ java文件读写 在一个已经有内容的文件中 追加第一行 如何做到

我的想法是可以用RandomAccessFile,这个类的seek方法,想在文件的哪个位置插入内容都行。所以你的第一行就不在话下了。但是,这个会覆盖你文件中插入位置后面的内容。相当于我们在输入的时候,按了键盘的insert键盘。所以,像你这种情况只能用临时文件来存储原有的内容,然后把要插入的数据写入文件,再把临时文件的内容追加到文件中。
void insert(String filename,int pos,String insertContent){//pos是插入的位置
File tmp = File.createTempFile("tmp",null);
tmp.deleteOnExit();
try{
RandomAccessFile raf = new RandomAccessFile(filename,"rw");
FileOutputStream tmpOut = new FileOutputStream(tmp);
FileInputStream tmpIn = new FileInputStream(tmp);
raf.seek(pos);//首先的话是0
byte[] buf = new byte[64];
int hasRead = 0;
while((hasRead = raf.read(buf))>0){
//把原有内容读入临时文件
tmpOut.write(buf,0,hasRead);

}
raf.seek(pos);
raf.write(insertContent.getBytes());
//追加临时文件的内容
while((hasRead = tmpIn.read(buf))>0){
raf.write(buf,0,hasRead);
}
}
}

阅读全文

与java追加写文件相关的资料

热点内容
小米手表怎么录入加密的ic卡 浏览:356
形容命令下达迅速 浏览:124
安卓手机如何用谷歌支付 浏览:284
安卓怎么刷装备 浏览:525
程序员架构师的工作 浏览:150
优摩手环用的什么app 浏览:705
安卓点点怎么关闭 浏览:185
公考培训系统源码 浏览:631
梅州离东莞源码 浏览:384
09年加密软件排行榜 浏览:689
javakey值 浏览:615
PDF政府报告2016 浏览:1002
国内小孩编程加盟前景 浏览:961
stc单片机安全 浏览:539
云邮箱服务器端口 浏览:491
文选编译与经典重构 浏览:598
精灵部落服务器地址 浏览:964
mc服务器和房间有什么分别 浏览:883
db服务器什么系统 浏览:606
分时涨停密码源码用法 浏览:897