我有一个包含100行的文件
每行包含一个标签
我需要获得标记值,给出它的等级,即TagVertex类的“id”
public abstract class Vertex <T>{
String vertexId ;// example Tag1
T vertexValue ;
public abstract T computeVertexValue();
}
public class TagVertex extends Vertex<String> {
@Override
public String computeVertexValue() {
// How to get the String from my file?
return null;
}
试试这个,但它不起作用
public static void main(String args[]) {
File source //
int i=90;
int j=0;
String s = null;
try {
Scanner scanner = new Scanner(source);
while (scanner.hasNextLine()) {
if (j==i) s= scanner.nextLine();
else j++;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(s);
}}
答案 0 :(得分:1)
虽然有一种方法可以使用BufferedReader跳过字符,但我认为不存在跳过整行的内置方法。
BufferedReader bf = new BufferedReader(new FileReader("MyFile.txt"));
for(int i = 1; i < myVertex.vertexId; i++){
bf.readLine();
}
String n = bf.readLine();
if(n != null){
System.out.println(n);
}
我认为可能有更好的主意。
答案 1 :(得分:0)
这是你可以用来从文件中读取的命令:
BufferedReader bf = new BufferedReader(new FileReader("filename"));
这会将文件读入缓冲区。 现在,为了读取每一行,你应该使用while循环并将每一行读入字符串。 像:
String str;
while((str = bf.readLine()) != null){
//handle each line untill the end of file which will be null and quit the loop
}