0

你好,我试图在我的文本文件输入中获取我的值,并将它们存储在一个数组中,然后将这些值解析为可用数据,然后将这些值存储在一个新数组中。我读取了文件,但由于某种原因,我似乎无法正确访问这些值,我尝试解析值或删除元素,但当我打印更改后的数组时,它似乎没有改变我的输出中的任何内容。

请让我知道我搞砸了什么

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;


public class dataminingp1 
{

    String[] data = new String[100];
    String line;

    public void readf() throws IOException 
    {

        FileReader fr = new FileReader("C:\\input.txt");
        BufferedReader br = new BufferedReader(fr);

        int i = 0;
        while ((line = br.readLine()) != null) 
        {
            data[i] = line;
            System.out.println(data[i]);
            i++;
        }
        br.close();
        System.out.println("Data length: "+data.length);

        String[][] root;

        List<String> lines = Files.readAllLines(Paths.get("input.txt"), StandardCharsets.UTF_8);

        root = new String[lines.size()][];

        lines.removeAll(Arrays.asList("", null)); // <- remove empty lines

        for(int a =0; a<lines.size(); a++)
        {
            root[a] = lines.get(a).split(" ");
        }
        lines.get(0).replace(',', ' ');
        //int p = Integer.parseInt(root[0][0]);
        System.out.println(lines.get(0));
        //System.out.println(p);

    }

    public static void main(String[] args) throws IOException 
    {
        dataminingp1 sarray = new dataminingp1();
        sarray.readf();
    }   
}

请包括任何来源以获得您提供的任何帮助,非常感谢您提前。对此,我真的非常感激。

4

1 回答 1

3

您需要在更改字符串后将更改分配回来,这String在 java 中是不可变的。

String changedLine = lines.get(0).replace(',', ' '); // Assign the modified String returned by replace method to changedLine
lines.set(0, changedLine); // Set the 0th index in the lines with the changedLine
于 2013-10-15T05:30:30.500 回答