关于Java文件读取器的问题

关于Java文件读取器的问题,java,line,readline,filereader,Java,Line,Readline,Filereader,我在FileReader类中遇到了一些问题 如何在它经过的行中指定偏移量,以及如何告诉它何时停止? 比方说,我想让它遍历.txt文件中的每一行,但只遍历第100-200行,然后停止 我该怎么做?现在我使用的是ReadLine(),但我认为没有办法用它来指定偏移量 非常感谢任何快速的帮助。谢谢。阅读所有行,但使用另一个变量计算您在哪一行。如果您所处的行不想处理(例如,在第100行之前),请调用continue;如果您不想再处理任何行(在第200行之后),请调用break。读取所有行,但使用另一个变

我在FileReader类中遇到了一些问题

如何在它经过的行中指定偏移量,以及如何告诉它何时停止? 比方说,我想让它遍历.txt文件中的每一行,但只遍历第100-200行,然后停止

我该怎么做?现在我使用的是ReadLine(),但我认为没有办法用它来指定偏移量


非常感谢任何快速的帮助。谢谢。

阅读所有行,但使用另一个变量计算您在哪一行。如果您所处的行不想处理(例如,在第100行之前),请调用
continue
;如果您不想再处理任何行(在第200行之后),请调用
break

读取所有行,但使用另一个变量计算您所处的行数。如果您所处的线路不想处理(例如,在第100行之前),请调用
continue
,如果您不想处理更多线路(在第200行之后),请调用
break

  • 你不能。FileReader一次读取一个字符或一行。显然,您可以编写自己的代码来扩展或包装它,从而跳到不需要的行

  • 旁白:使用FileReader或FileWriter时要小心——它们使用默认的区域设置字符集。如果要强制使用字符集,请使用OutputStreamWriter或InputStreamReader。范例

  • Writer w=新的FileWriter(文件)可以替换为 Writer w=新的OutputStreamWriter(新文件OutputStream(文件),“UTF-8”);
  • 你不能。FileReader一次读取一个字符或一行。显然,您可以编写自己的代码来扩展或包装它,从而跳到不需要的行

  • 旁白:使用FileReader或FileWriter时要小心——它们使用默认的区域设置字符集。如果要强制使用字符集,请使用OutputStreamWriter或InputStreamReader。范例

  • Writer w=新的FileWriter(文件)可以替换为
    Writer w=新的OutputStreamWriter(新文件OutputStream(文件),“UTF-8”) 没有办法告诉读者只读某些行,你可以用计数器来做

    try { 
        BufferedReader in = new BufferedReader(new FileReader("infilename")); 
        String str; 
        int lineNumber = 0;
    
        while ((str = in.readLine()) != null) { 
            lineNumber++;
    
            if (lineNumber >= 100 && lineNumber <= 200) {
                System.out.println("Line " + lineNumber + ": " + str);
            }
        } 
    
        in.close(); 
    } catch (IOException e) { } 
    
    试试{
    BufferedReader in=新的BufferedReader(新文件读取器(“填充名”);
    字符串str;
    int lineNumber=0;
    而((str=in.readLine())!=null){
    lineNumber++;
    
    如果(lineNumber>=100&&lineNumber没有办法告诉读者只读取某些行,您可以使用计数器来执行此操作

    try { 
        BufferedReader in = new BufferedReader(new FileReader("infilename")); 
        String str; 
        int lineNumber = 0;
    
        while ((str = in.readLine()) != null) { 
            lineNumber++;
    
            if (lineNumber >= 100 && lineNumber <= 200) {
                System.out.println("Line " + lineNumber + ": " + str);
            }
        } 
    
        in.close(); 
    } catch (IOException e) { } 
    
    试试{
    BufferedReader in=新的BufferedReader(新文件读取器(“填充名”);
    字符串str;
    int lineNumber=0;
    而((str=in.readLine())!=null){
    lineNumber++;
    如果(lineNumber>=100&&lineNumber
    BufferedReader-in=new-BufferedReader(new-FileReader(“foo.in”));
    for(inti=0;i
    BufferedReader-in=new-BufferedReader(new-FileReader(“foo.in”));
    
    for(int i=0;ijava.io.FileReader没有readLine()方法。java.io.BufferedReader有。我想你是说BufferedReader?java.io.FileReader没有readLine()方法。java.io.BufferedReader有。我想你是说BufferedReader?