Java 说一个非空文件是空的?

标签 java file-io

我有一个 particular file Java 说它是空的...

源代码

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class MinimumWorkingExample
{
    public static void main(String[] args) throws FileNotFoundException
    {
        String filename = "/home/tyson/Data/English-French_test/test/test.f";
        Scanner fileIn = new Scanner(new File(filename));
        System.out.println("***START***");
        while(fileIn.hasNextLine())
        {
            System.out.println(fileIn.nextLine());
        }
        System.out.println("***FINISH***");
    }
}

输出

***START***
***FINISH***

...但文件不为空:

控制台

tyson@tyson-desktop:~$ head /home/tyson/Data/English-French_test/test/test.f
<s snum=0001> 2 .  </s>
<s snum=0002> 2 .  </s>
<s snum=0003> oh , oh !  </s>
<s snum=0004> oh , oh !  </s>
<s snum=0005> oh , oh !  </s>
<s snum=0006> souvenons - nous , monsieur le Orateur , que ce sont ces secteurs de notre soci�t� qui servent de �pine dorsale � notre �conomie .  </s>
<s snum=0007> bravo !  </s>
<s snum=0008> bravo !  </s>
<s snum=0009> monsieur le Orateur , ma question se adresse � le ministre charg� de les transports .  </s>
<s snum=0010> tous deux poss�dent de nombreuses ann�es de exp�rience dans la fabrication et la distribution de les produits forestiers .  </s>
tyson@tyson-desktop:~$ 

问题

为什么会这样???

最佳答案

也做 Scanner fileIn = new Scanner(new File(filename), "Cp1252");因为这是法语的编码,而您的系统似乎是 UTF-8。 如果 Scanner 想要读取 UTF-8 多字节,它可能会遇到编码问题。

关于Java 说一个非空文件是空的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8598702/

相关文章:

java - 如何将多个输入格式文件传递给 map-reduce 作业?

java - 尝试将文件移动到不同位置(在项目文件夹中)

java - 无法读取刚刚写入的文件

java - 错误 : Did not find the <extensions> element Error on Installing FUSE in JBossEAP 7. 2

java - 使用 Java 解析 ALM XML 数据

java - 查询运行缓慢

java - 未找到 MySQL 连接 JDBC 驱动程序

java - 就性能而言,在什么时候用 BufferedOutputStream 包装 FileOutputStream 才有意义?

file-io - Erlang:从文件中读取整数

Java Apache POI : Read/Write from . 文档文件问题