我想获取用户选择的一个文本文件的内容,并将其添加到另一个文本文件而不替换当前内容。例如:
更新:如何以编号方式将其添加到第二个文件?
TextFile1:
AAA BBB CCC
AAA BBB CCC
TextFile2 :(复制后)
EEE FFF GGG
AAA BBB CCC
AAA BBB CCC
更新:我不得不删除我的代码,因为它可能被用于剽窃,这已得到回答所以我知道该怎么做,谢谢大家帮助我。
答案 0 :(得分:2)
试试这个 你必须使用
new FileWriter(fileName,append);
这将以追加模式打开文件:
根据javadoc说它
参数: fileName String依赖于系统的文件名。
如果为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();
}
}
答案 1 :(得分:1)
使用new FileWriter("songstuff.txt", true);
附加到文件而不是覆盖它。
参考:FileWriter
答案 2 :(得分:1)
您可以使用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);
}
}
答案 3 :(得分:0)
在给定File对象的情况下构造FileWriter对象。如果第二个参数为true,则字节将写入文件的末尾而不是开头。
new FileWriter(fileName,true);
答案 4 :(得分:0)