如何从文件中读取一行给定的数字?

时间:2013-04-17 16:09:20

标签: java file readfile

我有一个包含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);
  }}

2 个答案:

答案 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
}