java - 使用 ObjectOutputStream 将 ArrayList 写入文件时如何保留换行符?
问题描述
我正在关注本教程,了解如何使用 将 输出ArrayList
到文本文件ObjectOutputStream
,但这会从我的原始文件中删除换行符。换句话说,我读入一个文件,对其进行处理,然后将其写回。读入的数据在整个处理过程中仍然是一个 ArrayList。将 ArrayList 写入文件时如何保留换行符?当我将它作为 ArrayList 读取时,我会失去这种能力吗?
解决方案
你误解了教程。 ObjectOutputStream
不是为输出文本文件而设计的。如果你尝试读取这个类生成的文件,你会看到很多二进制数据;即,如果您尝试将其视为文本,则会显示为不可打印的字符或“垃圾”。
但是,ObjectOutputStream
它不会显式删除换行符。当您将输入文本转换为ArrayList
.
但这没有实际意义。如果要输出文本文件,请不要使用ObjectOutputStream
. 使用 aFileWriter
并迭代ArrayList
输出每个(erm)行,然后是换行符。
当我以 as 读取时,我会丢失[换行符]
ArrayList
吗?
这取决于您如何读取输入文件并填充ArrayList
. (如果您不向我们展示,我们无法解释您的代码的行为。我们甚至无法确定 的元素类型ArrayList
是什么......)
推荐阅读
- amazon-web-services - AWS CloudFront 显示使用云前端拒绝访问 S3 存储桶?
- r - 确定失配 (MM) 和完美匹配 (PM) 芯片设计
- mongodb - 计算数组中子文档的总数
- css - 从 XAMPP 到 LAMPP 中缺少 CSS 文件和其他资源
- java - Google Calendar API - 提醒不要为即将发生的事件发送电子邮件
- java - 如何使用java检索mp3文件的缩略图
- python - `psycopg2` 已安装在 `Django Virtualenv` 中,但仍显示错误
- python - 在序列号上应用 pandas groupby 以从每列中获取单个值
- django - Django 表单验证失败和 .save(commit=False) 崩溃
- javascript - 背景图片