尽管 Java 中的文件 none,FileReader 始终至少读取一个换行符
FileReader always read at least one newline despite none in file in Java
我有这个代码...
try{
FileReader fread = new FileReader(new File("testfile"));
int y = 0;
while (fread.ready()){
char path = (char)fread.read();
System.out.println(path);
if (path == '\n'){
y++;
}
}
System.out.println("Newlines: " + y);
}
catch (Exception e){
System.out.println(e.getMessage());
}
...以及一个名为 testfile 的文件,其中包含以下信息...
ABC
...当我 运行 程序打印出文件包含一个换行符时。这是为什么?阅读 Oracle 文档后,我根本找不到原因。我的问题很容易通过从 y 中减去 1 来解决,但我对此并不满意。这个问题让我发疯,因为我不知道换行符从哪里来。
(代表OP发表).
我的编辑器(和其他几个编辑器)在文件中的 eof 之后添加了一个换行符。以下页面列出了针对不同编辑器的不同解决方案:
Gedit adds line at end of file
我有这个代码...
try{
FileReader fread = new FileReader(new File("testfile"));
int y = 0;
while (fread.ready()){
char path = (char)fread.read();
System.out.println(path);
if (path == '\n'){
y++;
}
}
System.out.println("Newlines: " + y);
}
catch (Exception e){
System.out.println(e.getMessage());
}
...以及一个名为 testfile 的文件,其中包含以下信息...
ABC
...当我 运行 程序打印出文件包含一个换行符时。这是为什么?阅读 Oracle 文档后,我根本找不到原因。我的问题很容易通过从 y 中减去 1 来解决,但我对此并不满意。这个问题让我发疯,因为我不知道换行符从哪里来。
(代表OP发表).
我的编辑器(和其他几个编辑器)在文件中的 eof 之后添加了一个换行符。以下页面列出了针对不同编辑器的不同解决方案:
Gedit adds line at end of file