java文件追加内容的三种方法:
方法一:
public static void writeToTxtByRandomAccessFile(File file, String str){
RandomAccessFile randomAccessFile = null;
try {
randomAccessFile = new RandomAccessFile(file,"rw");
long len = randomAccessFile.length();
randomAccessFile.seek(len);
randomAccessFile.writeBytes(new String(str.getBytes(),"iso8859-1")+"\r\n");
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally{
try {
randomAccessFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
方法二:
public static void writeToTxtByFileWriter(File file, String content){
BufferedWriter bw = null;
try {
FileWriter fw = new FileWriter(file, true);
bw = new BufferedWriter(fw);
bw.write(content);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
方法三:
public static void writeToTxtByOutputStream(File file, String content){
BufferedOutputStream bufferedOutputStream = null;
try {
bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file, true));
bufferedOutputStream.write(content.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch(IOException e ){
e.printStackTrace();
}finally{
try {
bufferedOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. JAVA 如何在已经有的TXT文件下追加内容
import java.io.*;
public class Test {
public static void main(String[] args){
String s = new String();
String s1 = new String();
try {
BufferedReader input = new BufferedReader(new FileReader("E:\\123.txt"));
while((s = input.readLine())!=null){
s1 += s+"\n";
}
System.out.println(s1);
input.close();
s1 += "最后一行";
BufferedWriter output = new BufferedWriter(new FileWriter("E:\\123.txt"));
output.write(s1);
output.close();
} catch (Exception e) {
}
}
}
//呵呵,这办法也许比较笨了,我也是刚学没多久,只考虑结果的情况下以上代码能满足你的要求
3. java 怎样向一个已存在的文件中添加内容
如果想向某个文件最后添加内容,可使用FileWriter fw = new FileWriter("log.txt",true);在创建FileWriter时加个true就可以了。
下面是详细的示例代码:
Filefile=newFile("D:/Test.txt");
Filedest=newFile("D:/new.txt");
try{
BufferedReaderreader=newBufferedReader(newFileReader(file));
BufferedWriterwriter=newBufferedWriter(newFileWriter(dest,true));
Stringline=reader.readLine();
while(line!=null){
writer.write(line);
line=reader.readLine();
}
writer.flush();
reader.close();
writer.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
4. java把控制台输入的文本追加到文本文件中
用io流,不要new新的File,控制台输入的文本读到里面不就ok啦?
5. java将文字信息追加到指定txt文件
Stringname=""//你的录入信息
Filefile=newFile("c:/name.txt");//录入文件地址
if(!file.exists()){
try{
file.createNewFile();
}catch(IOExceptione){
e.printStackTrace();
}
}
OutputStreamos=null;
try{
os=newFileOutputStream(file,true);//false覆盖true追加
byte[]b=name.getBytes();
os.write(b);//写入
os.close();//关闭流
}catch(Exceptione){
e.printStackTrace();
}
6. 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();
}
}
}
7. java怎样向一个文件(如txt文件)中写入一段数据,能够保存,然后下一次打开继续写
你好,这个JDK的类库都帮我们实现好了。如FileWriter类:
public FileWriter(File file,boolean append)
throws IOException
根据给定的 File 对象构造一个 FileWriter 对象。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
例子程序如下:
import java.io.File ;
import java.io.Writer ;
import java.io.FileWriter ;
public class WriterDemo02{
public static void main(String args[]) throws Exception{ // 异常抛出,不处理
// 第1步、使用File类找到一个文件
File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象
// 第2步、通过子类实例化父类对象
Writer out = null ; // 准备好一个输出的对象
out = new FileWriter(f,true) ; // 通过对象多态性,进行实例化
// 第3步、进行写操作
String str = "\r\nLIXINGHUA\r\nHello World!!!" ;// 准备一个字符串
out.write(str) ;// 将内容输出,保存文件
// 第4步、关闭输出流
out.close() ;// 关闭输出流
}
};
8. Java中有没有像TXT文件中插入一行数据而不覆盖其他内容的方法
//大概是这样
importjava.io.File;
importjava.io.RandomAccessFile;
/**
*
*@authorsie1501
*
*/
publicclassHelloworld{
publicstaticvoidinsertNewLine(StringinsertContent,intline){
try{
FilesrcFile=newFile("D:\1.txt");//首先存在文件,文件内容:123
if(srcFile.exists()){
Filetemp=newFile("D:\2.txt");
RandomAccessFileread=newRandomAccessFile(srcFile,"rw");
RandomAccessFileinsert=newRandomAccessFile(temp,"rw");
Stringstr="";
intindex=0;
while(null!=(str=read.readLine())){
if(index==line){//等于写入行号时
insert.write((insertContent+str+" ").getBytes());//写入新内容+原有内容
}else{
insert.write((str+" ").getBytes());//写入原有内容
}
index++;
}
if(index<line){//行号大于文件行数,在文件末位处添加内容
longlength=temp.length();//原有文件长度
insert.seek(length);
insert.write(insertContent.getBytes());//写入文件末尾处
}
insert.close();
read.close();
read=newRandomAccessFile(srcFile,"rw");
insert=newRandomAccessFile(temp,"rw");
while(null!=(str=insert.readLine())){//将临时文件内容写到源文件
read.write((str+" ").getBytes());
}
read.close();
insert.close();
temp.delete();//删除临时文件
System.out.println("--------------End----------");
}
}catch(Exceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args){
insertNewLine("line0d",0);//第一行插入line0
}
}
9. java代码 如何向TXT文件写入内容
向txt文件写入内容基本思路就是获得一个file对象,新建一个txt文件,打开I/O操作流,使用写入方法进行读写内容,示例如下:
packagecommon;
importjava.io.*;
importjava.util.ArrayList;
publicclassIOTest{
publicstaticvoidmain(Stringargs[]){
ReadDate();
WriteDate();
}
/**
*读取数据
*/
publicstaticvoidReadDate(){
Stringurl=“e:/2.txt”;
try{
FileReaderread=newFileReader(newFile(url));
StringBuffersb=newStringBuffer();
charch[]=newchar[1024];
intd=read.read(ch);
while(d!=-1){
Stringstr=newString(ch,0,d);
sb.append(str);
d=read.read(ch);
}
System.out.print(sb.toString());
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
/**
*写入数据
*/
publicstaticvoidWriteDate(){
try{
Filefile=newFile(“D:/abc.txt”);
if(file.exists()){
file.delete();
}
file.createNewFile();
BufferedWriteroutput=newBufferedWriter(newFileWriter(file));
ArrayListResolveList=newArrayList();
for(inti=0;i<10;i++){
ResolveList.add(Math.random()*100);
}
for(inti=0;i
output.write(String.valueOf(ResolveList.get(i))+“ ”);
}
output.close();
}catch(Exceptionex){
System.out.println(ex);
}
}
}
原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/303/12439303.shtml
10. 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里面有属内容,也不会替换。