2016-06-07 47 views
-2

沒有預先知道的值。 lastIndexOf因此不能使用(因爲lastIndexOf(什麼)?什麼是未知如何獲取.txt文件的最後索引及其值?

我想獲取文件的最後保存的值與搜索值進行比較因此,我需要索引中的最後一個值文件,並希望這最後的索引來獲取值。

public static void searchInFile(double search) throws IOException, FileNotFoundException{ 
    try{ 
    double fl = Math.floor(search/10000); 
    int floor = (int)(fl); 
    int key = (int)(search); 
    String searchValue = String.valueOf(key); 
    String s = null; 
    String fname = "TextFile"+(floor+1)+".txt"; 
    File f = new File(fname); 
    do{ 
    if(f.exists()){ 
     FileReader fr = new FileReader(fname); 
     BufferedReader br = new BufferedReader(fr); 
     while((s=br.readLine())!=null){ 
      if(s.contains(searchValue)){ 
       p(""+s.contains(","+searchValue+",")); 
       p(search+" found in file "+fname); 
      } 
      else if(s.contains(","+searchValue+",")==false){ 
        int last = s.lastIndexOf(s);      
      } 
     } 
    } 
    else{   
     write(key); 
    } 
    }while(true); 
    } 
    catch(Exception e){ 
     e.printStackTrace(); 
    } 
} 
+0

什麼是「價值」?你的文件中有什麼?你怎麼看它?你的代碼在哪裏?你有什麼嘗試?用上一次保存的數值讀取[ask] – Idos

+0

您的意思是最後**現有文件的**字符**? – emotionlessbananas

+0

@holidayCoder。是的,按上次保存的值,我的意思是文件中的最後一個單詞。 – Kanika

回答

0

不確定如果您正在尋找.txt file中的最後一個單詞的索引如果這樣做,那麼這可能會有所幫助。

public static void checkIndex() { 
      File file = new File("path"); 
      BufferedReader reader = null; 
      StringBuffer buffer = new StringBuffer(); 
      String strReading = ""; 
      try { 
       reader = new BufferedReader(new FileReader(file)); 
       while ((strReading = reader.readLine()) != null) { 
        buffer.append(strReading); 
       } 
       int index = buffer.toString().lastIndexOf(" ") + 1; 
       System.out.println(buffer.substring(index)); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
0

什麼我可以理解爲只有你有,你要搜索值的多個索引文件。但你是什麼意思的「的最後一個索引「這個問題還不是很清楚,即使你的程序的邏輯也不能很好地解釋這個問題的含義,

您能否更新問題陳述並在更多細節中分享您的代碼段,以便人們可以理解並回答。

相關問題