2014-07-15 166 views
1

導入大量單詞,我需要創建能識別文件中每個單詞的代碼。我正在使用分隔符來識別每個單詞的分隔,但我收到一個壓縮錯誤,指出未使用linenumber和分隔符的值。我需要做些什麼才能讓程序讀取該文件並分離該文件中的每個單詞?識別文件中的每個單詞

public class ASCIIPrime { 
    public final static String LOC = "C:\\english1.txt"; 

    @SuppressWarnings("null") 
    public static void main(String[] args) throws IOException { 

     //import list of words 
     @SuppressWarnings("resource") 
     BufferedReader File = new BufferedReader(new FileReader(LOC)); 

     //Create a temporary ArrayList to store data 
     ArrayList<String> temp = new ArrayList<String>(); 

     //Find number of lines in txt file 
     String line; 
     while ((line = File.readLine()) != null) 
     { 
      temp.add(line); 
     } 

     //Identify each word in file 
     int lineNumber = 0; 
     lineNumber++; 
     String delimiter = "\t"; 

     //assess each character in the word to determine the ascii value 
     int total = 0; 
     for (int i=0; i < ((String) line).length(); i++) 
     { 
      char c = ((String) line).charAt(i); 
      total += c; 
     } 

     System.out.println ("The total value of " + line + " is " + total); 
    } 
} 
+0

...這是所有的代碼? – Pimgd

+0

@Pimgd編輯添加我的所有代碼 – mrsw

+0

格式化它,因此它對我來說是可讀的... – Pimgd

回答

1

這聞起來像功課,但沒問題。

導入一大串單詞,我需要創建代碼來識別文件中的每個單詞。我需要做些什麼才能讓程序讀取該文件並分離該文件中的每個單詞?

你需要......

  • 讀取文件
  • 獨立的話,你在
  • 上讀到的東西......我不知道你想做什麼與他們在那之後。我將把它們轉儲到一個大名單中。

我的主要方法是將的內容...

BufferedReader File = new BufferedReader(new FileReader(LOC));//LOC is defined as class variable 

//Create an ArrayList to store the words 
List<String> words = new ArrayList<String>(); 

String line; 
String delimiter = "\t"; 
while ((line = File.readLine()) != null)//read the file 
{ 
    String[] wordsInLine = line.split(delimiter);//separate the words 
    //delimiter could be a regex here, gotta watch out for that 
    for(int i=0, isize = wordsInLine.length(); i < isize; i++){ 
     words.add(wordsInLine[i]);//put them in a list 
    } 
} 
+0

不能正常工作..我在夏季休息,只是爲了跟上夏天的編碼,這樣我就不會在編程的秋天生鏽了。 。謝謝你的幫助我會試試這個!! – mrsw

+0

啊,好吧。如果你需要解釋這篇文章中的任何內容,請告訴我。 – Pimgd

+0

完美的解釋和它的工作!謝謝!! – mrsw

0

您可以使用String類

String[] split(String regex) 

的拆分方法,這將返回您可以直接處理的變換中,你可能需要的任何其他集合字符串數組。

我建議也除去suppresswarning,除非你確定你在做什麼。在大多數情況下,最好是消除警告的原因,而不是壓低警告。

0

我使用thenewboston這個偉大的教程,當我開始讀文件:https://www.youtube.com/watch?v=3RNYUKxAgmw

該視頻似乎是您的最佳選擇。它涵蓋了如何保存數據的文件字。只需將字符串數據添加到ArrayList。這裏是你的代碼應該是什麼樣子:

import java.io.*; 
import java.util.*; 

public class ReadFile { 

    static Scanner x; 
    static ArrayList<String> temp = new ArrayList<String>(); 

    public static void main(String args[]){ 
     openFile(); 
     readFile(); 
     closeFile(); 
    } 

    public static void openFile(){ 
     try(
      x = new Scanner(new File("yourtextfile.txt"); 
     }catch(Exception e){ 
      System.out.println(e); 
     } 
    } 

    public static void readFile(){ 
     while(x.hasNext()){ 
      temp.add(x.next()); 
     } 
    } 

    public void closeFile(){ 
     x.close(); 
    } 
} 

有一件事是使用java util的掃描儀很好的是自動跳過單詞之間的空格使得它易於使用和識別的話。

相關問題