gpt4 book ai didi

java - 写入文本文件时格式化数据 (Java)

转载 作者:行者123 更新时间:2023-11-30 07:55:32 24 4
gpt4 key购买 nike

public static void writer(ArrayList<String> a)
{
FileWriter file = new FileWriter("text1.txt");
for(int i=0; i<a.size(); i++)
{
if(i%2==0)
{
file.write(a, i+2, 300);
}
else
{
System.out.printf("a.get(i, i+1,300));
System.out.println();
}
}
}

我正在尝试使用 file.write 方法将格式化文本写入 .txt 文件。我想使用类似于“System.out.printf”命令的格式化技术。我希望上面的程序执行与下面的程序相同的操作,除了写入文本文件而不是控制台。有什么建议么?文本(不同长度)必须排成两列,每列从同一点开始。我无法更改字符串对象列表的输入形式。我不熟悉 BufferedOutputStream 和几乎任何其他“写入文本文件”类,所以如果您的解决方案涉及到这一点,请比平常更彻底地解释一下。谢谢!

   public static void formatter(ArrayList<String> a)
{
System.out.printf("%-15s", "Item:");
System.out.printf("%1s", "Price:");
System.out.println();
for(int i=0; i<a.size(); i++)
{
if(i%2==0)
{
System.out.printf("%-15s",a.get(i));
}
else
{
System.out.printf("$%1s",a.get(i));
System.out.println();
}
}

最佳答案

printf 方法位于 PrintStream 类上,因此不要使用 new FileWriter("test1.txt") 尝试 new PrintStream("test1.txt"),file.printf 应该可以工作。

自行发现这一点的一种方法是查看您想要执行的相同操作,即 System.out。您会发现这是一个 PrintStream,因此请查看 PrintStream javadocs 以了解如何打开文件并返回 PrintStream,PrintStream 本身方便地提供了一个构造函数。

关于java - 写入文本文件时格式化数据 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32730286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com