2014-02-21 42 views
1

我用掃描儀類很多時間。但在這種情況下,while(scanner..hasNext())返回任何內容。文件的路徑是正確的。 可能是什麼原因?我附上了代碼和文件內容。掃描儀不想讀西里爾文內容

public class Solution { 
    public static void main(String[] args) throws IOException{ 

     File file = new File("D:/t1.txt"); 
     Scanner sc = new Scanner(file); 
     sc.useDelimiter("\\s"); 

     while (sc.hasNext()){ 
      String ss = sc.next(); 
      System.out.println(ss); 
     } 
     sc.close(); 
    } 
} 

文件t1.txt

Киев Нью-Йорк Амстердам Вена Мельбурн 
+2

您的代碼工作正常,我這個問題。 – BackSlash

回答

4

這可能是您的問題無關,但你應該始終指定charset

+0

謝謝你,它幫助我解決了很多問題,在我的代碼或想法中。 – Mikhail

1

感謝。我已經解決了使用其它字符集

public class Solution { 
public static void main(String[] args) throws IOException{ 

    File file = new File("D:/t1.txt"); 
    Scanner sc = new Scanner(file,"windows-1251"); 
    sc.useDelimiter("\\s"); 

    while (sc.hasNext()){ 
     String ss = sc.next(); 
     System.out.println(ss); 
    } 
    sc.close(); 
} 

}

+2

在這種情況下,您應該[接受](http://meta.stackexchange.com/a/5235/186652)解決您的問題的答案。 – Pshemo