如何获取.txt文件的最后一个索引及其值?

时间:2016-06-07 10:54:03

标签: java

不要预先知道这个价值。 lastIndexOf因此无法使用(因为lastIndexOf(WHAT)?什么是未知的。

我想获取要与搜索值进行比较的文件的最后保存值。因此,我需要文件中最后一个值的索引,并希望获得最后一个索引的值。

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();
    }
}

2 个答案:

答案 0 :(得分:0)

我能理解的只是你有多个索引文件,你必须在其中搜索一个值。但你的“最后一个指数”是什么意思。问题不太清楚。甚至程序的逻辑也不足以解释问题的意义。

请您更新问题陈述并分享您的代码段以获取更多详细信息,以便人们了解并回答。

答案 1 :(得分: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();
            }
        }