Java 行号和文本文件
我正在准备期末考试,我想知道是否有一种特殊的方法可以打印出文本文件中一行的数据。例如,如果文本文件中包含以下内容:Java 行号和文本文件,java,Java,我正在准备期末考试,我想知道是否有一种特殊的方法可以打印出文本文件中一行的数据。例如,如果文本文件中包含以下内容: 11 1c20 203 G2 我想知道是否有一种方法可以让我输入示例2,4,得到输出1c20 203 G2。通过使用两个整数start和finish。我已经研究过这种方法,但什么也找不到。我知道有一个是getLineNumber(),但我想使用这两个整数 提前谢谢 这里有一个选项(带指针): 并将它们存储在两个变量中start和end 使用读取每行,增加每行的计数器 如果
11
1c20
203
G2
我想知道是否有一种方法可以让我输入示例2,4,得到输出1c20 203 G2。通过使用两个整数start和finish。我已经研究过这种方法,但什么也找不到。我知道有一个是getLineNumber(),但我想使用这两个整数
提前谢谢 这里有一个选项(带指针):
start
和end
结束时
,断开循环您可能想看看java.io.LineNumberReader: 请注意,行号从0开始 试试这个:
import java.io.*;
/*
* Usage: java LinePrinter <start> <end>
* Example: java LinePrinter 2 4
*/
public class LinePrinter
{
public static void main(String[] args)
{
int start = Integer.parseInt(args[0]);
int end = Integer.parseInt(args[1]);
LineNumberReader reader = null;
String line = null;
boolean flag = false;
try
{
reader = new LineNumberReader(new FileReader("data.txt"));
while ((line = reader.readLine()) != null)
{
if (reader.getLineNumber() == start)
{
flag = true;
}
if (flag)
{
System.out.println(line);
}
if (reader.getLineNumber() == end)
{
flag = false;
break;
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.*;
/*
*用法:java LinePrinter
*示例:java LinePrinter 2 4
*/
公共类行打印机
{
公共静态void main(字符串[]args)
{
int start=Integer.parseInt(args[0]);
int end=Integer.parseInt(args[1]);
LineNumberReader读取器=空;
字符串行=null;
布尔标志=假;
尝试
{
reader=newlinenumberreader(newfilereader(“data.txt”);
而((line=reader.readLine())!=null)
{
if(reader.getLineNumber()=开始)
{
flag=true;
}
国际单项体育联合会(旗)
{
系统输出打印项次(行);
}
if(reader.getLineNumber()==end)
{
flag=false;
打破
}
}
}
捕获(例外e){
e、 printStackTrace();
}
}
}
假设您的文件名为data.txt,您可以使用sed显示第3行到第5行,如下所示:
$>sed-n'3,5p'data.txt使用sed将非常简单…谢谢,我已经看过了,但我觉得不方便。请展开,是的,我的文本名为java.txt谢谢。上面是一个如何使用sed命令执行您想要的操作的示例:打印文件的x到y行。该命令名为sed。n表示安静模式。3代表起跑线。5代表终点线。逗号分隔起始线和结束线。p表示所需的操作,在本例中为print。要使用sed命令,必须使用linux、unix或Mac。如果你使用的是愚蠢的windows,那么你必须安装Cygwin来摆脱原本无用的环境。然后你必须安装Cygwin才能使用sed命令。安装起来并不难,而且非常方便。我极力推荐。安装后,可以使用上述命令从命令行打印文件的x到y行。