我想从特定行读取等等。例如,我想从第8行读取,直到它到达文件的末尾。有人可以教我如何编程吗?
我目前的代码:
import java.util.*;
import java.io.File;
import java.io.FileNotFoundException;
public class Arff {
public static void main(String[] args) throws FileNotFoundException {
File TextFile = new File("weather.nominal.arff");
Scanner reader = new Scanner(TextFile);
while(reader.hasNextLine()) {
String text = reader.nextLine();
String[] SplitData = text.split(" ");
if (SplitData[0].equals("@relation")) {
System.out.println(SplitData[1]);
System.out.println();
}
if (SplitData[0].equals("@attribute")) {
System.out.print(SplitData[1] + " ");
}
}
}
}
weather.nominal.arff
@relation weather.symbolic
@attribute outlook {sunny,overcast,rainy}
@attribute temperature {hot,mild,cool}
@attribute humidity {high,normal}
@attribute windy {TRUE,FALSE}
@attribute play {yes,no}@data
阳光灿烂,热,高,FALSE,没有
阳光灿烂,热,高,TRUE,没有
阴,热,高,假,是
多雨,温和,高,假,是
多雨,凉爽的,正常的,假,是
多雨,凉爽,正常,TRUE,没有
阴天,凉爽,正常,TRUE,是
阳光明媚,温和,高,FALSE,没有
阳光,凉爽的,正常的,假,是
多雨,温和的,正常的,假,是
阳光明媚,轻度,正常,TRUE,是
阴沉沉的,温和的,高,TRUE,是
阴沉沉的,热的,正常的,假,是
多雨,温和,高,真,没有
期望的输出:
weather.symbolic
前景温度湿度大风播放
阳光,热,高,FALSE,没有
阳光灿烂,热,高,TRUE,没有
阴,热,高,假,是
多雨,温和,高,假,是
多雨,凉爽的,正常的,假,是
多雨,凉爽,正常,TRUE,没有
阴天,凉爽,正常,TRUE,是
阳光明媚,温和,高,FALSE,没有
阳光,凉爽的,正常的,假,是
多雨,温和的,正常的,假,是
阳光明媚,轻度,正常,TRUE,是
阴沉沉的,温和的,高,TRUE,是
阴沉沉的,热的,正常的,假,是
多雨,温和,高,真,没有
答案 0 :(得分:0)
关于你的问题:如果你知道要跳过的行,只需在循环之前定义一个计数器变量并计算你在循环中读取的行。
+
关于示例数据,您还可以在循环外部使用布尔变量,并且已经读取了存储符号int count = 0;
while {
//....
if (count >=8){
//...
}
count++;
}
- 如果行索引尚未知道或者可能随时间变化,则会更好。