如果我将base64字符串写入文件而不使用回车分解它,我会遇到问题吗?
是否有一段时间我会在一次写作和阅读大字符串时遇到困难?
现在我存储的字符串的大小大约是100个字符但它们可以进入10,000+范围 - 这会有问题吗?
提前致谢。
答案 0 :(得分:5)
您可以拥有与文件系统允许的文件一样大的文件,但不包含换行符。
另一方面,阅读它们对于大文件来说将是困难的。我建议使用StreamReader或至少一个字节数组形式的缓冲区,而不是尝试将其作为字符串加载。答案 1 :(得分:2)
这完全取决于读取文件的应用程序。如果它是一个读取它的本机C / C ++应用程序,我肯定不会这样做。 .NET或Java应用程序应该没有任何问题,只需消耗更多内存。 MIME(RFC 2045)一行不超过76个字符,填充“=”不需要。我建议你使用它。
答案 2 :(得分:1)
如果解码数据的应用程序一次读取文件行,则可能无法充分利用资源。但是我能看到它导致问题的唯一方法是,如果解码应用程序一次读取行,那么行很长并且解码应用程序在内存上运行不足。
答案 3 :(得分:1)
要回答您的直接问题,是的,如果您使用单个大字符串,则会有一个大小,您将开始注意到读/写性能问题;但是,它取决于许多因素,包括磁盘IO,CPU负载,甚至可用内存。在半现代机器上,只要文件小于2-3 MB,我就说你不会有问题。
也就是说,Neil建议使用缓冲区是一个很好的建议,因为它会提高性能并允许你显示进度条等。