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

2024-03-31

我的问题与我之前的问题相关(如何以特定格式显示txt文件中的数据 https://stackoverflow.com/questions/731917/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 
  

关于您对阿迪尔的回答的评论:

谢谢adeel825,但是我不知道在哪里放置“\t”..到目前为止我使用这个方法: new PrintStream(fout).println (name); new PrintStream(fout).println(练习); new PrintStream(fout).println("10 分钟");

首先,不要打电话给“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);

Edit

回复您的评论:

还有一个问题...有些名称太长,需要更多选项卡..我已经输入了 ps.print('\t','\t');但似乎不起作用..

如果这是一个问题,听起来您正在尝试以您想要的显示方式存储它们。我假设您试图以一种易于编程解析的方式存储它们。如果您想将它们存储在列中显示,我建议使用空格而不是制表符填充。

如果您知道所有列的宽度都小于 30 个字符,则可以使用 printf 执行以下操作:

ps.printf("%30s%30s%30s%n", name, exercise, time);

如果您不习惯的话,该语法可能看起来相当复杂。基本上每个“%30s”都意味着填充字符串参数,使其至少有 30 个字符宽。如果任何值的宽度为 30 个或更多字符,您的结果将看起来不正确。如果您无法提前知道,则必须循环遍历每列中的值以确定列需要多宽。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以特定格式将数据存储在txt文件中 的相关文章

随机推荐