我使用FileOutputStream将十进制值写入文件,由于它只能写入字节或字节数组,我无法写入字符串等"文本"值。
我尝试过其他各种类,如Writer和PrintWriter作为子对象,但它们似乎都无法按照我的意愿写入文件。我不想创建一个需要重新打开文件的新对象,应该可以"内联"。建议?
我认为应该这样做吗?它将把它附加到文件的末尾。
public class yourClass
{
private BufferedWriter bufferedWriter;
public static void main(String[] args)
{
try
{
bufferedWriter = new BufferedWriter( new OutputStreamWriter(new FileOutputStream("file.txt"), StandardCharsets.UTF_8));
}
catch (FileNotFoundException e)
{
System.out.println("Couldn't initialize the BufferedWriter");
e.printStackTrace();
System.exit(0);
}
writeStuff("Hey");
writeStuff("Hey2");
writeStuff("Hey3");
writeStuff("Hey4");
writeStuff("Hey5");
flushAndClose(false);
writeStuff("Hey");
writeStuff("Hey2");
writeStuff("Hey3");
flushAndClose(true);
}
public void writeStuff(String toWrite)
{
bufferedWriter.write(toWrite + System.lineSeparator());
}
public void flushAndClose(boolean closeToo)
{
bufferedWriter.flush();
if(closeToo)
{
bufferedWriter.close();
}
}
}
每次你不想写东西的时候,jsut都会调用writeStuff方法。如果这不是你想要的,我很抱歉我误解了你的意思。