Java- 如何使用java printf打印空日期的空白



我正在使用PrintWriter.printf()函数使用以下格式写入java中的文件:

%1$s,%2$s,%3$s,%4$s,%5$tF,%n

这给了我这样的输出:

25563,XY63563,Greame,Thomas,1942-04-07,
341411,YY2524522,Thayer,Michael,1945-03-19,
472452,TR254252,Brook,null,null,

有没有办法自定义printf以获取空值的空白。

我可以对字符串值进行空检查并用空格替换空。如何处理printf中的空日期值。

我认为您必须分两步完成此操作:

String formattedDate = (date == null) ? "" : String.format("%tF", date);

然后再次将printf与格式字符串一起使用,例如

"%1$s,%2$s,%3$s,%4$s,%5$s,%n" 

formattedDate为第五个参数(现在格式化为 %s )。 我没有看到让格式字符串以自定义方式处理空值的方法。

最新更新