【发布时间】:2012-01-23 16:33:58
【问题描述】:
我的目标是为具有特定扩展名的所有文件建立索引并将其存储到 index.txt 中。我得到了所有正确的结果,但没有将“文件”放到新行中,这是我的代码的快照:
OutputStream f0 = new FileOutputStream("index.txt");
String ind[] = f.list(only); // logic for getting only relevant files
for(int i=0;i<ind.length;i++)
{
File n = new File(path + "/" +ind[i]);
System.out.println(ind[i]+ " is a " +exten +" file");
ind[i]+="\n"; // doesnt work
f0.write(ind[i].getBytes()); // here i am writing the filenames
}
是因为 getBytes() 函数忽略了 "/n" 吗?请告诉我应该怎么做。我想在每次退出 for 循环时插入一个新行。
一个主要的编辑:当我用记事本++或写字板打开文件时,我得到了想要的结果,但是当我用记事本打开文件时,我在同一行得到了结果。也请解释一下!
【问题讨论】:
-
谁能用我从同一个文件中得到的各种结果来解释这个异常?
-
记事本只读取一种类型的行分隔符。这就是为什么,它似乎都在一条线上。
-
@Purushottam "谁能解释我从同一个文件中得到的各种结果的异常情况?" 请查看下面我的答案以获得关于换行的澄清/跨平台回车。
标签: java cross-platform newline carriage-return separator