我正在阅读一个看起来像这样的Java文本文件,
" Q1。您将获得一个包含1000列和100万行的列车数据集。数据集基于分类问题。您的经理要求您减少此数据的维度,以便减少模型计算时间。您的机器有内存限制。你会怎么做? (您可以自由地做出实际假设。)
Q2。 PCA需要轮换吗?如果有,为什么?如果不旋转组件会发生什么?
Q3。您将获得一个数据集。数据集具有缺失值,其沿着中值的1个标准偏差扩散。有多少百分比的数据不受影响?为什么? "
现在,我想读取此文件,然后将每个句子(问题)存储在字符串数组中。我怎么能在java中做到这一点?
我试过了,
String mlq = new String(Files.readAllBytes(Paths.get("MLques.txt")));
String[] mlq1=mlq.split("\n\n");
但这不起作用。
答案 0 :(得分:0)
File file = new File("C:\\MLques.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String st;
while ((st = br.readLine()) != null) {
System.out.println(st + "\n");
}
我认为它会奏效。
答案 1 :(得分:0)
这是我项目中的一段代码。
public static List<String> readStreamByLines(InputStream in) throws IOException {
return IOUtils.readLines(in, StandardCharsets.UTF_8).stream()
.map(String::trim)
.collect(Collectors.toList());
}
但是!!! 如果您的文件非常大,那么将所有内容收集到List
并不好。您必须逐行阅读InputStream
并为每一行执行所需操作。
答案 2 :(得分:0)
试试这个
String mlq = new String(Files.readAllBytes(Paths.get("MLQ.txt")));
String[] mlq1=mlq.split("\r\n\r\n");
System.out.println(mlq1.length);
System.out.println(Arrays.toString(mlq1));
这应该通过2行的线间隙来实现。