Java 如果PrintWriter输出文件太大,如何滚动?

Java 如果PrintWriter输出文件太大,如何滚动?,java,printwriter,Java,Printwriter,我正在使用PrintWriter写入输出文件,但我正在处理大量数据。由于这个原因,文件的大小可能会变得非常大,因此,如果一个文件的大小太大,我想要一种输出到多个文件的方法。但似乎没有一种受支持的方法可以做到这一点?您可以使用写入(String s,int off,int len)方法只写入部分数据。打开多个输出流并调整offset和len参数,您应该能够在多个文件中分发数据 Ref:请发布您的代码。确保有一种受支持的方法:关闭代码并创建一个新的代码以写入新的/下一个文件。但是,这听起来更像是在创

我正在使用PrintWriter写入输出文件,但我正在处理大量数据。由于这个原因,文件的大小可能会变得非常大,因此,如果一个文件的大小太大,我想要一种输出到多个文件的方法。但似乎没有一种受支持的方法可以做到这一点?

您可以使用
写入(String s,int off,int len)
方法只写入部分数据。打开多个输出流并调整
offset
len
参数,您应该能够在多个文件中分发数据


Ref:

请发布您的代码。确保有一种受支持的方法:关闭代码并创建一个新的代码以写入新的/下一个文件。但是,这听起来更像是在创建一个日志文件,如果是这样,为什么不使用一个日志库呢,它有内置的功能?我试过这样做。我有一个StringBuilder,它还附加了一些行。当它超过一定大小时,我关闭printwriter,将其设置为新的,并清除StringBuilder(我似乎找不到跟踪输出文件长度的方法)。这是可行的,但我觉得解决办法有点可疑。我以前使用过log4j,但我不知道如何为标准文本文件(不是HTML)使用合适的RollingFileAppender。这根本不是一个愚蠢的问题。我也面临同样的问题,最后制作了一个PrintWriter包装,使滚动逻辑得以封装。有这样的例子,或者我认为问题在于,随着时间的推移,许多写操作最终会创建一个巨大的文件,而不是拆分一个since
print()
调用。