我想將用戶選擇的一個文本文件的內容添加到另一個文本文件而不替換當前內容。例如:Java:將文本文件內容複製到另一個文件夾而無需替換
更新:如何將其添加到第二個文件以數字方式?
TextFile1:
AAA BBB CCC
AAA BBB CCC
TextFile2:(複製後)
EEE FFF GGG
AAA BBB CCC
AAA BBB CCC
更新:我不得不刪除我的代碼,因爲它可能採取剽竊,這是回答,所以我知道該怎麼做,謝謝大家幫助我。
我想將用戶選擇的一個文本文件的內容添加到另一個文本文件而不替換當前內容。例如:Java:將文本文件內容複製到另一個文件夾而無需替換
更新:如何將其添加到第二個文件以數字方式?
TextFile1:
AAA BBB CCC
AAA BBB CCC
TextFile2:(複製後)
EEE FFF GGG
AAA BBB CCC
AAA BBB CCC
更新:我不得不刪除我的代碼,因爲它可能採取剽竊,這是回答,所以我知道該怎麼做,謝謝大家幫助我。
使用new FileWriter("songstuff.txt", true);
追加到文件而不是覆蓋它。
參見:FileWriter
構建一個給定File對象一個FileWriter對象。如果第二個參數爲true,則字節將寫入文件的末尾而不是開頭。
new FileWriter(fileName,true);
您可以使用Apache commons IO。
實施例:
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.commons.io.FileUtils;
public class HelpTest {
public static void main(String args[]) throws IOException, URISyntaxException {
String inputFilename = "test.txt"; // get from the user
//Im loading file from project
//You might load from somewhere else...
URI uri = HelpTest.class.getResource("/" + inputFilename).toURI();
String fileString = FileUtils.readFileToString(new File(uri));
// output file
File outputFile = new File("C:\\test.txt");
FileUtils.write(outputFile, fileString, true);
}
}
試試這個 你必須使用
new FileWriter(fileName,append);
這將在追加模式的文件:
據它說
參數的Javadoc: 文件名字符串與系統有關的文件名。
append boolean if true,那麼數據將被寫入文件的末尾而不是開頭。
public static void main(String[] args) {
FileReader Read = null;
FileWriter Import = null;
try {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a file name: ");
System.out.flush();
String filename = scanner.nextLine();
File file = new File(filename);
Read = new FileReader(filename);
Import = new FileWriter("songstuff.txt",true);
int Rip = Read.read();
while(Rip!=-1) {
Import.write(Rip);
Rip = Read.read();
}
} catch(IOException e) {
e.printStackTrace();
} finally {
close(Read);
close(Import);
}
}
public static void close(Closeable stream) {
try {
if (stream != null) {
stream.close();
}
} catch(IOException e) {
// JavaProgram();
}
}