2012-05-08 42 views
1

我有這種格式的文件。 50 xxx/70 aaa/90 ccc/掃描儀next()作爲參數

該程序將該文件保存到默認目錄,這是我認爲它正在嘗試讀取的同一個目錄。但它只是沒有掃描任何東西......請問有什麼不對?我不善於編程對不起

我希望它讀取50「先前」xxx到「文本」,然後在aPf.insert(之前,文本)中使用這兩個東西。

File file = new File("poznamky.txt"); 
     Scanner scanner = null; 
     int prior; 
     String text; 

     try { 
      scanner = new Scanner(file); 
      scanner.useDelimiter("/"); 

     while (scanner.hasNext()) { 

      prior = scanner.nextInt(); 
      text = scanner.next(); 
      aPf.insert(prior, text); 

} 

} catch (FileNotFoundException e) { 

e.printStackTrace(); 

} 
+0

哦,是的,我有一個PF創建.... –

回答

2

我認爲分隔符/沒有正確轉義。嘗試使用像\/來逃避。請參閱此Escaping a forward slash in a regular expression更清晰。

+0

哦好吧,以及我現在改變了分隔符|它的作品與那一點..但我仍然有問題..但我會嘗試解決,你幫了一下:) –

+0

很高興它幫助。請讓我們知道其他問題,我們可以幫助你。 – raddykrish

0

我認爲有兩種方法可以解決這個問題。首先是使用reset()重置分隔符。所以我的意思是說去nextInt的缺省分隔符'',然後在下一個調用中調用useDelimiter('/')。然後調用scanner.reset()。

另一種解決這個問題的方法是根據/ delimiter獲取字符串。然後根據空間作爲下一個分隔符進一步分割該字符串。也許使用StringTokenizer來完成這個。

+0

非常感謝!我做了很多不同的,但我不知道什麼字符串標記是,所以我學到了新的東西,它幫助:)謝謝 –