2016-06-07 52 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

什么我可以理解为只有你有,你要搜索值的多个索引文件。但你是什么意思的“的最后一个索引“这个问题还不是很清楚,即使你的程序的逻辑也不能很好地解释这个问题的含义,

您能否更新问题陈述并在更多细节中分享您的代码段,以便人们可以理解并回答。

相关问题