不要预先知道这个价值。 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();
}
}
答案 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();
}
}