Java 如何从某一行读到某一行?
例如,我想从第20056行到第1159450行读取一个文本文件,并将其输出到输出窗口,但我不知道如何执行,因为方法Java 如何从某一行读到某一行?,java,bufferedreader,filereader,readline,printwriter,Java,Bufferedreader,Filereader,Readline,Printwriter,例如,我想从第20056行到第1159450行读取一个文本文件,并将其输出到输出窗口,但我不知道如何执行,因为方法line.readline()从第一行开始 这是我的代码: String line; int currentLineNo = 1; int startLine = 20056;//40930; int endLine = 1159450; FileReader file = new FileReader("yourfilepath"); BufferedReader reader
line.readline()
从第一行开始
这是我的代码:
String line;
int currentLineNo = 1;
int startLine = 20056;//40930;
int endLine = 1159450;
FileReader file = new FileReader("yourfilepath");
BufferedReader reader = new BufferedReader(file);
PrintWriter writer = new PrintWriter("yourfilepath", "UTF-8");
while (currentLineNo < startLine) {
currentLineNo++;
}
while(currentLineNo >= startLine && currentLineNo <= endLine) {
// System.out.println(currentLineNo);
line = reader.readLine();
System.out.println(line);
// writer.println(line);
currentLineNo++;
}
reader.close();
writer.close();
字符串行;
int currentLineNo=1;
int STARTINE=20056//40930;
int endLine=1159450;
FileReader file=新的FileReader(“您的文件路径”);
BufferedReader reader=新的BufferedReader(文件);
PrintWriter=新的PrintWriter(“您的文件路径”、“UTF-8”);
while(currentLineNo=stringline&¤tLineNo字符串行;
int currentLineNo=1;
int startine=20056;//40930;
int endLine=1159450;
FileReader file=新的FileReader(“您的文件路径”);
BufferedReader reader=新的BufferedReader(文件);
PrintWriter=新的PrintWriter(“您的文件路径”、“UTF-8”);
while(currentLineNo=startLine&¤tLineNo(代表OP发布解决方案)
我只需要删除第一个while循环
String line;
int currentLineNo = 1;
int startLine = 20056;//40930;
int endLine = 1159450;
FileReader file = new FileReader("yourfilepath");
BufferedReader reader = new BufferedReader(file);
PrintWriter writer = new PrintWriter("yourfilepath", "UTF-8");
while(currentLineNo<=endLine)
{
line = reader.readLine();
if(currentLineNo >= startLine && currentLineNo<=endLine)
{ System.out.println(line); }
currentLineNo++;
}
reader.close();
writer.close();
字符串行;
int currentLineNo=1;
int startine=20056;//40930;
int endLine=1159450;
FileReader file=新的FileReader(“您的文件路径”);
BufferedReader reader=新的BufferedReader(文件);
PrintWriter=新的PrintWriter(“您的文件路径”、“UTF-8”);
while(currentLineNo=startine&¤tLineNo在第一个while
循环中,您没有推进读卡器
。如果调用reader.readLine()
在循环内部,每次迭代都会使用一行。这里可能重复类似的问题:如何将读取行与currentLineNo@khelwood关联?如何不读取我不想要的前几行?@khelwoodIt仍然打印第一行:/i需要它只打印从第20056行到第1159450行的内容请尝试使用jays代码你的第一个while循环被注释掉了。它成功了!我只需要删除第一个while循环非常感谢jay!祝你有一个愉快的一天:DWorked。谢谢你spanglerb:DThank jay他做了这件重担:-)我听说接受答案是一个很好的感谢礼物。
String line;
int currentLineNo = 1;
int startLine = 20056;//40930;
int endLine = 1159450;
FileReader file = new FileReader("yourfilepath");
BufferedReader reader = new BufferedReader(file);
PrintWriter writer = new PrintWriter("yourfilepath", "UTF-8");
while(currentLineNo<=endLine)
{
line = reader.readLine();
if(currentLineNo >= startLine && currentLineNo<=endLine)
{ System.out.println(line); }
currentLineNo++;
}
reader.close();
writer.close();