Java 关于为什么输出流只将转换变量的最后一行而不是所有行打印到新文件中,有什么解释吗?
我正在尝试将英语单词从一个文本文件转换成一个新的文件,将单词翻译成拉丁语。当它被简单地打印到控制台上时,所有的内容都会以应有的方式进行转换,但我遇到的问题是,新文件上只显示初始文件的最后一行Java 关于为什么输出流只将转换变量的最后一行而不是所有行打印到新文件中,有什么解释吗?,java,file,apache-pig,new-operator,outputstream,Java,File,Apache Pig,New Operator,Outputstream,我正在尝试将英语单词从一个文本文件转换成一个新的文件,将单词翻译成拉丁语。当它被简单地打印到控制台上时,所有的内容都会以应有的方式进行转换,但我遇到的问题是,新文件上只显示初始文件的最后一行 public static void newFile(String pigLatin) { OutputStream os = null; try { os = new FileOutputStream(new File("/Users/amie/Documents/inpu
public static void newFile(String pigLatin) {
OutputStream os = null;
try {
os = new FileOutputStream(new File("/Users/amie/Documents/inputnewnew.pig.txt"));
os.write(pigLatin.getBytes(), 0, pigLatin.length());
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
默认情况下,
FileOutputStream
覆盖现有文件。您需要做的是使用另一个带有append
参数的构造函数
FileOutputStream(String name, boolean append)
像
看一看
os = new FileOutputStream(new File("/Users/...", true))