Java:从inputStream读取和写入outputStream的最有效方式(加上一些修改)

Java:从inputStream读取和写入outputStream的最有效方式(加上一些修改),java,io,Java,Io,我正在从输入流中读取。 并将我读到的内容写入输出流 我还检查了一些东西。 就像我读了一本书 &符号 我需要写信 & 我的代码有效。但现在我想知道我是否用了我所怀疑的最有效的方法 我一个字节一个字节地读。但这是因为我需要做一些奇怪的修改 有人能提出最快的方法吗 如果您正在使用,则非常感谢,而且很难使其更快 顺便说一句,如果您将输入处理为字符而不是字节,则应将读写器与and一起使用。如果您正在使用,则很难使其更快 顺便说一句,如果您将输入处理为字符而不是字节,则应使用带和的读卡器/写卡器。我更

我正在从输入流中读取。 并将我读到的内容写入输出流

我还检查了一些东西。 就像我读了一本书

&符号

我需要写信

&

我的代码有效。但现在我想知道我是否用了我所怀疑的最有效的方法

我一个字节一个字节地读。但这是因为我需要做一些奇怪的修改

有人能提出最快的方法吗

如果您正在使用,则非常感谢,而且很难使其更快

顺便说一句,如果您将输入处理为字符而不是字节,则应将读写器与and一起使用。

如果您正在使用,则很难使其更快


顺便说一句,如果您将输入处理为字符而不是字节,则应使用带和的读卡器/写卡器。

我更喜欢使用BufferedReader读取输入,使用BufferedWriter输出。使用正则表达式匹配输入可以缩短代码,同时提高时间复杂度。

我更喜欢使用BufferedReader读取输入,BufferedWriter读取输出。使用正则表达式匹配输入可以缩短代码,同时提高时间复杂度。

代码应该与读写器一起读写字符。例如,如果它在UTF-8序列的中间,或者它得到UCS-2字符的后半部分,它恰好读取了一个放大器的等效字节值,那么它将损坏它试图复制的数据。代码的寿命通常比您预期的要长,有人可能会在以后尝试使用它,并在这种情况下使用它

至于更快或更慢,使用BufferedReader可能会帮助最大。如果您正在向文件系统写入数据,BufferedWriter不会有多大区别,因为操作系统会为您缓冲写入数据,而且它做得很好。如果您正在向StringWriter写入,那么缓冲将不会产生任何影响,甚至可能会使写入速度变慢,但如果不是这样,缓冲您的写入应该会有所帮助

你可以重写它来处理数组;这可能会使它更快。您仍然可以使用数组来实现这一点。您必须编写更复杂的代码来处理边界条件。这也需要成为决策的一个因素


衡量,不要猜测,并警惕那些不了解所有细节的人的意见。最终,这取决于你是否能确定它是否足够快以适应这种情况。没有单一的答案,因为所有情况都不同。

代码应该是与读写器一起读写字符。例如,如果它在UTF-8序列的中间,或者它得到UCS-2字符的后半部分,它恰好读取了一个放大器的等效字节值,那么它将损坏它试图复制的数据。代码的寿命通常比您预期的要长,有人可能会在以后尝试使用它,并在这种情况下使用它

至于更快或更慢,使用BufferedReader可能会帮助最大。如果您正在向文件系统写入数据,BufferedWriter不会有多大区别,因为操作系统会为您缓冲写入数据,而且它做得很好。如果您正在向StringWriter写入,那么缓冲将不会产生任何影响,甚至可能会使写入速度变慢,但如果不是这样,缓冲您的写入应该会有所帮助

你可以重写它来处理数组;这可能会使它更快。您仍然可以使用数组来实现这一点。您必须编写更复杂的代码来处理边界条件。这也需要成为决策的一个因素


衡量,不要猜测,并警惕那些不了解所有细节的人的意见。最终,这取决于你是否能确定它是否足够快以适应这种情况。没有单一的答案,因为所有的情况都不同。

你能再详细说明一下吗?@Xnzo72:关于缓冲还是读卡器?我认为缓冲是很明显的。当谈到读卡器与输入流时,请尝试使用UTF-16/32编码输入的程序,或者尝试生成这样的程序。目前它只适用于ASCII。@TomaszNurkiewicz您的答案更好,因为接受的答案链接已过期。您能再详细说明一下吗?@Xnzo72:关于缓冲或读卡器?我认为缓冲是很明显的。当谈到读卡器与输入流时,请尝试使用UTF-16/32编码输入的程序,或者尝试生成这样的程序。目前它只适用于ASCII。@TomaszNurkiewicz您的答案更好,因为接受的答案链接已过期。您应该专注于正确性,而不是在这样一个枯燥的程序中可能节省的微秒数。@Ingo仅仅因为我问了一个关于速度的问题,并不一定意味着我不关心速度没错,你应该
d专注于正确性,而不是在这样一个枯燥的程序中你可能节省的几微秒。@Ingo仅仅因为我问了一个关于速度的问题,并不一定意味着我不关心正确性。