我正在使用以下函数将字符串写入文件。该字符串用换行符格式化。
例如, text = "sometext\nsomemoretext\nlastword";
我可以在执行以下操作时看到输出文件的换行符:
type outputfile.txt
但是,当我在记事本中打开文本时,看不到换行符。一切都显示在一行中。
为什么会这样。如何确保正确编写文本,以便能够在记事本中正确看到(格式化)。
private static void FlushText(String text, File file)
{
Writer writer = null;
try
{
writer = new BufferedWriter(new FileWriter(file));
writer.write(text);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (writer != null)
{
writer.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
在窗口上,按照惯例,换行符表示为回车符,后跟换行符(CR + LF),即\r\n
。
从换行维基页面:
文本编辑器通常用于在不同的换行格式之间转换文本文件。大多数现代编辑器至少可以使用不同的ASCII CR / LF约定读取和写入文件。
标准的Windows编辑器记事本不是其中之一 (尽管Wordpad是)。
如果将字符串更改为:记事本应正确显示输出:
text = "sometext\r\nsomemoretext\r\nlastword";
如果您想要一种与平台无关的表示换行的方式,请使用System.getProperty("line.separator");
对于a的特定情况BufferedWriter
,请遵循bemace的建议。
读取文件已支持 windows 系统,版本号大于等于 1.3.4.1; 扩展版本大于等于 1.2.7; PECL 安装时将会提示是否开启读取功能,请键入 yes; 测试数据准备 $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); // 写入测试数据 $filePath = $excel->f
问题内容: 我正在使用以下内容读取文件的各行, 现在,我想跳过读取文件的第一行,并且不想使用计数器行来保持行数。 这该怎么做? 问题答案: 你可以试试这个
问题内容: 编辑:感谢你们的快速反应-我最终切换到mysql_fetch_assoc()并使用do … while,我很高兴。 我正在使用相同的过程来创建和填充表-一切正常,除了 在每个表中跳过第一行 。由于我似乎无法查明问题,可以用另一双眼睛。提前致谢。 问题答案: 您正在调用mysql_fetch_array两次…循环前一次,循环时一次。 如果您需要种子行来构建标题行,则最好在此处使用do .
问题内容: 从CSV读取数据时,它会跳过第二行。我有两个CSV文件,一个用于用户,一个用于属性-密钥ID是user。 我与以下用户一起运行 每个奇数编号都在工作,并且检测到用户已登录,而第二个奇数编号正在跳过。我阅读了一下,但我不认为我有.nextLine()正在像此链接中那样跳过,但是我只在星期五开始使用CSV和BufferedReader! 问题答案: 它跳过第二行,因为您在每次迭代中都读取两
问题内容: 我见过其他有此问题的人,但我见过的解决方案没有帮助我,或者我不知道如何使用它们:P 我的代码正在跳过数据库的第一行,但我不明白为什么。 问题答案: 删除行: 该循环将抢在第一次循环中的第一行。 结果代码:
我使用下面的读取文件的行, 现在,我想跳过读取文件的第一行,我不想使用计数器行来记录行数。 这要怎么做?