Ⅰ 用java中的io流写入文件如何避免覆盖原来的内容求代码
用这抄个方法public FileOutputStream(String name,boolean append)throws FileNotFoundException,将逻辑值append设为袭false时,写入的字节数据覆盖文本原来的内容,为ture是即追加到原来文本的末尾。覆盖原文本内容如:FileOutputStream x=new FileOutputStream("文件全路径",false);throws FileNotFoundException为抛出异常。
Ⅱ 如何在JAVA中把信息存储在TXT中
import java.io.*;
pyblic class TestPrintWriter{
public TestPrintWriter(){
Sting mg="******" //接收你文本框里面的内容
try{
/*
文件名名字自己定义,楼上说了,你要先判断文件是否存在,
存在就删除,在创建
*/
FileWriter fw=new FileWriter("记事本.txt");
PrintWriter pw=new PrintWriter(fw);
pw.println(s); //把内容写进文件
}
catch(Exception e){
e.printStackTrace();
}
}
publid static void main(String args[]){
new TestPrintWriter();
}
}
Ⅲ 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
}
}
Ⅳ java 数据写入TXT文件中被覆盖的问题
FileOutputStream 还有一个构造函数:
FileOutputStream (File file, boolean append)
JDK 文档中对此方法的说明:
“如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。”
即可解决你的问题。
改成:FileOutputStream fos = new FileOutputStream(file, true);
Ⅳ java中用printWrite向文件中输入数据为什么会覆盖原来的数据,怎么解决呢
PrintWriter()的作用是为了定义流输出的位置,之后设置是否追加输入为true,并且此流可以正常内的存储中文容,减少乱码输出。举例:
PrintWriter out = new PrintWriter("D:\\test.txt",true);//定义输出流位置,并且文件必须存在,设置为true表示追加内容
out.println("中文测试");//写入内容
out.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
Ⅵ 如何用java写入txt,每次运行都覆盖前一次的内容(多行数据)
Java使用FileWriter实现文件的写入,用法为:FileWriter(file,true); 其中第二个参数设置成false就是覆盖写入,true就是增量存回储。举例代码:答
importjava.io.File;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassFile01Demo{
publicstaticvoidmain(String[]args)throwsIOException{
Filefile=newFile("D:\a.txt");
FileWriterfw=newFileWriter(file,true);//设置成true就是追加
fw.write("asd");
fw.write(" ");
fw.write("ffd");
fw.close();
}
}
Ⅶ java给txt文件写入内容原内容被覆盖怎么办
之前已经覆盖的是无法找回了,建议楼主下次可以采用FileOutputStream:
/**
* 追加文件:使用FileOutputStream,在构造FileOutputStream时,把第二个参数设为true 为追加内容
*
* @param fileName
* @param content
*/
public static void method1(String file, String conent) {
BufferedWriter out = null ;
try {
out = new BufferedWriter( new OutputStreamWriter(
new FileOutputStream(file, true )));
out.write(conent);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
或者使用字符流的
FileWriter(StringfileName, booleanappend)
构造一个FileWriter对象,第二个参数为给出一个带有布尔值的参数,表示是否追加写入的数据。
望采纳 谢谢!