2013-11-25 95 views
0
try 
{ 
    BufferedReader br = new BufferedReader(
      new FileReader(selectFile.getSelectedFile())); 
    String str; 

    ArrayList <String> lines = new ArrayList<String>(); 

    while((str = br.readLine()) != null){ 
     lines.add(str); 
    } 
    String[] LinesArray = lines.toArray(new String[lines.size()]); 

    System.out.println(lines); //Prints Array list on the screen. 

    br.close(); 
} 
catch(IOException e) 
{ 
    System.out.println("The file cannot be read"); 
} 

如何從文件中打印n th字數? 例如,用戶運行程序並選擇帶有段落的文件,並且我想打印出文本文件的第12和30個單詞。從文本文件中讀取第n個字

我試過使用拆分,但它不適合我。 有什麼建議嗎?

+3

1.只粘貼相關代碼。 2.縮進代碼並正確格式化。 3.發佈預期結果的示例輸入文件打印出 – alfasin

+0

由於文件內容可以轉換爲stringBuffer。 StringBuffer有很好的API來檢索第n個字符串。說subString(x,x + 1) – Zeus

+0

@宙斯這是第n個字符 - 不是第n個字符串。 – alfasin

回答

1
Scanner input = new Scanner(new File("someText.txt")); 
int count = 0; 

while(input.hasNext() && count <= 30){ 
    count++; 
    String word = input.next(); 

    if (count == 12){ 
     System.out.println(word); 
    } 
    if (count == 30){ 
     System.out.println(word); 
    } 
} 
0

看起來你已經有了一個數組中的段落,我的建議是,也許你可以通過數組並繼續計算空間,當空間計數器達到你想要的數量(比如說11次)打印文字,同時繼續計算空間並在第29個空格後停止打印。

+0

我如何計算空間?對不起,我是一般的編程新手。 – yamp03

+0

我同意上面的那些評論,你需要刪除你的問題中的一些代碼,對於那些想要幫助你的人是沒用的。 – Koshien

+0

用於計算空間,只需遍歷數組,使用.equals(「」)將每個元素與空間進行比較。如果.equals語句返回true,則將計數器加1。 – Koshien

相關問題