当前位置: 技术问答>java相关
Java中,给已存在的文件添加内容,但不覆盖文件原有内容,该如何操作
来源: 互联网 发布时间:2015-09-19
本文导语: 如下程序:如果文件不存在,则创建文件,给其添加内容,但如果文件存在,而不想覆盖其原来的内容,即在原有内容的基础上添加内容,该如何操作? import java.lang.reflect.Method; import java.io.*; import java.lang.*; import j...
如下程序:如果文件不存在,则创建文件,给其添加内容,但如果文件存在,而不想覆盖其原来的内容,即在原有内容的基础上添加内容,该如何操作?
import java.lang.reflect.Method;
import java.io.*;
import java.lang.*;
import java.text.*;
public class ifHaveFile
{
public static void main(String args[])
{
StringBuffer fileBuf=new StringBuffer();
String filePar = "e:\test";
File myPath = new File( filePar );
if ( !myPath.exists())//若此目录不存在,则创建之
myPath.mkdir();
String filename = "test.txt";
File logFile = new File( myPath, filename );
if (!logFile.exists())
{
System.out.println("this file not exists!");
//给文件追加内容!
fileBuf.append("this is only a test!!!");
try
{
//创建新文件
RandomAccessFile files = new RandomAccessFile(logFile ,"rw");
try
{
//给文件添加内容
files.writeBytes(fileBuf.toString());
files.close();
}
catch (IOException ioEx)
{
System.err.println(ioEx.toString());
}
}
catch ( FileNotFoundException fouEx)
{
System.err.println(fouEx.toString());
}
}
else
{
System.out.println("this file exists!");
//如果存在,则在文件原有的内容上添加,既保留文件原有的内容,该如何做????
}
}
}
import java.lang.reflect.Method;
import java.io.*;
import java.lang.*;
import java.text.*;
public class ifHaveFile
{
public static void main(String args[])
{
StringBuffer fileBuf=new StringBuffer();
String filePar = "e:\test";
File myPath = new File( filePar );
if ( !myPath.exists())//若此目录不存在,则创建之
myPath.mkdir();
String filename = "test.txt";
File logFile = new File( myPath, filename );
if (!logFile.exists())
{
System.out.println("this file not exists!");
//给文件追加内容!
fileBuf.append("this is only a test!!!");
try
{
//创建新文件
RandomAccessFile files = new RandomAccessFile(logFile ,"rw");
try
{
//给文件添加内容
files.writeBytes(fileBuf.toString());
files.close();
}
catch (IOException ioEx)
{
System.err.println(ioEx.toString());
}
}
catch ( FileNotFoundException fouEx)
{
System.err.println(fouEx.toString());
}
}
else
{
System.out.println("this file exists!");
//如果存在,则在文件原有的内容上添加,既保留文件原有的内容,该如何做????
}
}
}
|
不用这么麻烦的。直接用FileWriter,选择为追加方式就可以了:
FileWriter fw = new FileWriter(filePar,true);
FileWriter fw = new FileWriter(filePar,true);
|
files.seek(files.length());
将文件指针移到文件尾
将文件指针移到文件尾
|
saturday6(),你说的不对。
我已经测试过了,namowen is right
我已经测试过了,namowen is right
|
namowen说的对。第二个参数为 Boolean append ,当设置为true时,代码将加在文件末尾。注意该类将抛出一个IOException
|
up
|
namowen is right
|
namowen is right!
I agree!
I agree!