通过 FileOutputStream 传递变量

Passing variable through FileOutputStream

所以我遇到了这段代码,使用 FileOutputStream

将一些内容保存到 .text 文件中
try (PrintStream out = new PrintStream(new FileOutputStream("filename.txt"))) {
    out.print(text);
}

有什么方法可以将变量传递给文件名,例如 FileOutputStream(filename.text)?

没问题。只需在构造函数中使用字符串变量,如下所示:

String myFile = "filename.txt";
PrintStream out = new PrintStream(new FileOutputStream(myFile)));
out.print(text);

一个重要的评论,你应该使用指定流的字符编码的构造函数。任何时候将字符串转换为输出流时,都会将字符编码为字节,并且会使用一些字符编码。如果您没有明确指定编码,那么它将使用 default 编码,这在不同的计算机上可能会有所不同,并且您的代码将 运行 在不同的计算机上有所不同。

String myFile = "filename.txt";
PrintStream out = new PrintStream(new FileOutputStream(myFile), "UTF-8"));
out.print(text);
String fileName = "filename.text"; // Your need be, I might have used .txt

try (PrintStream out = new PrintStream(new FileOutputStream(fileName))) {
    out.print(text);
} catch (FileNotFoundException fnf) {
    fnf.printStackTrace(); // your .text would take you here ;)
}

您在这里使用的是 FileOutputStream's constructor,它接受一个字符串参数。所以你当然可以根据自己的需要进行修改。

注意 - 记住也要捕获异常