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裡面有屬內容,也不會替換。