我的问题与我之前的问题 ( How to display data from txt file in specific format ) 相关。
我想知道是否可以首先以特定格式将数据存储在txt文件中,而不是先存储然后再次检索并以特定格式显示它?
例如而不是像这样将数据存储在 txt 文件中
Jessica Walking 20 minutes Matthew Run 10 minutes
我想以这种格式将其存储在txt文件中
Jessica Walking 20 minutes Matthew Run 10 minutes
最佳答案
关于您对 adeel 的回答的评论:
Thanks adeel825, however I dont know where to put the "\t".. so far I use this method: new PrintStream(fout).println (name); new PrintStream(fout).println (exercise); new PrintStream(fout).println("10 minutes");
首先,不要每次打印内容时都调用“new PrintStream(fout)
”。这样做:
PrintStream ps = new PrintStream(fout);
ps.print(name);
ps.print('\t');
ps.print(exercise);
ps.print('\t');
ps.print(time);
ps.println();
或者简单地说:
PrintStream ps = new PrintStream(fout);
ps.println(name + '\t' + exercise + '\t' + time);
编辑
回复您的评论:
one more question...some of the name are too long and it requires more tab..I have put ps.print('\t','\t'); but it seems not working..
如果这是一个问题,听起来您正在尝试以您想要的显示方式存储它们。我假设您试图以一种易于编程解析的方式存储它们。如果您想将它们存储在列中显示,我建议使用空格而不是制表符填充。
如果您知道所有列的宽度都小于 30 个字符,您可以使用 printf 执行以下操作:
ps.printf("%30s%30s%30s%n", name, exercise, time);
如果您不习惯的话,该语法可能看起来相当复杂。基本上每个“%30s”都意味着填充字符串参数,使其至少有 30 个字符宽。如果任何值的宽度为 30 个或更多字符,您的结果将看起来不正确。如果您无法提前知道,则必须循环遍历每列中的值以确定列需要多宽。
关于java - 以特定格式将数据存储在txt文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/740157/