用java中的FileOuptStream写出一个文本字符串



我使用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方法。如果这不是你想要的,我很抱歉我误解了你的意思。

相关内容

  • 没有找到相关文章

最新更新