这篇文章将为大家详细讲解有关Java如何将格式化后的字符串写入到流,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
使用 Formatter 类
Formatter 类提供了一种将格式化后的字符串写入流的方法。它使用占位符和格式说明符来控制输出的格式。
语法:
Formatter(OutputStream out)
示例:
OutputStream out = new FileOutputStream("output.txt");
Formatter formatter = new Formatter(out);
// 使用占位符和格式说明符格式化字符串
formatter.format("姓名:%s,年龄:%d", "John", 30);
// 关闭流以释放资源
formatter.close();
使用 PrintWriter 类
PrintWriter 类也是一种将格式化后的字符串写入流的方法。它提供更高级别的格式化操作,比如对齐和填充。
语法:
PrintWriter(OutputStream out)
示例:
OutputStream out = new FileOutputStream("output.txt");
PrintWriter writer = new PrintWriter(out);
// 使用 printf 方法格式化字符串
writer.printf("姓名:%s,年龄:%d", "John", 30);
// 关闭流以释放资源
writer.close();
使用 String.format 方法
String.format 方法提供了一种直接将格式化后的字符串写入流的方法。它返回一个格式化后的字符串,可以写入任何 OutputStream。
语法:
String.format(String format, Object... args)
示例:
String formattedString = String.format("姓名:%s,年龄:%d", "John", 30);
// 将格式化后的字符串写入流
OutputStream out = new FileOutputStream("output.txt");
out.write(formattedString.getBytes());
// 关闭流以释放资源
out.close();
格式说明符
下表列出了 Java 中常用的格式说明符:
说明符 | 描述 |
---|---|
%b | 布尔值 |
%c | 字符 |
%d | 十进制整数 |
%e | 科学计数法浮点数 |
%f | 固定小数点浮点数 |
%g | 通用浮点数 |
%o | 八进制整数 |
%s | 字符串 |
%x | 十六进制整数 |
格式化选项
格式说明符还可以包含格式化选项,以控制输出的格式。这些选项使用方括号指定,如下所示:
%[标志] [最小宽度] [精度] 类型
例如,以下格式说明符指定一个右对齐、最小宽度为 10 个字符的整数:
%10d
示例
下面是一个完整的示例,演示如何使用 Formatter 类、PrintWriter 类和 String.format 方法将格式化后的字符串写入文件:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Formatter;
public class FormattedStringToFile {
public static void main(String[] args) throws IOException {
// 使用 Formatter 类
OutputStream out = new FileOutputStream("output1.txt");
Formatter formatter = new Formatter(out);
formatter.format("姓名:%s,年龄:%d", "John", 30);
formatter.close();
// 使用 PrintWriter 类
out = new FileOutputStream("output2.txt");
PrintWriter writer = new PrintWriter(out);
writer.printf("姓名:%s,年龄:%d", "John", 30);
writer.close();
// 使用 String.format 方法
String formattedString = String.format("姓名:%s,年龄:%d", "John", 30);
out = new FileOutputStream("output3.txt");
out.write(formattedString.getBytes());
out.close();
}
}
以上就是Java如何将格式化后的字符串写入到流的详细内容,更多请关注编程学习网其它相关文章!