java - 以特定格式将数据存储在txt文件中

标签 java file file-format text-files

我的问题与我之前的问题 ( 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/

相关文章:

java - Android 版 ORM 精简版

java - android中的密封方法

html - 如何在 objective-c 中创建 html 文件?

python - json.load() 或 json.dump() 应该与 open() 上下文管理器一起使用吗?

windows - PE导出台面设计

java - Spring 4 TaskScheduler 性能问题

java - Logentries + AWS 不兼容

java - 在java中将任何文件转换为二进制

JPEG EOF 与 EOI 标记

java - 免费且随时可用的二进制格式,可与自己的 Java 应用程序一起使用