java 将文本文件转换为列表并使用索引访问列表元素

beq87vna  于 2023-01-15  发布在  Java
关注(0)|答案(1)|浏览(107)

我尝试了几次将文件中的文本转换为列表,并根据引用索引打印列表的一些元素,但我不能,它抛出索引越界异常:索引3,尺寸1
有什么办法可以克服这种情况吗?
myTEXT.txt

PETTY MIND,2023,IS,COMMING

我的代码

List<String> TexttoList = new ArrayList<String>();
    
    FileReader myTEXT = new FileReader("myTEXT.txt");
    
    Scanner scanText = new Scanner(myTEXT);
    scanText.useDelimiter(",\\s*");
    
    while(scanText.hasNext()) {
        
        
        for(int d = 0; d<4; d++){
        TexttoList.add(d , scanText.next());
        System.out.println(TexttoList.get(3));
        //IndexOutOfBounds Exception: index 3 , Size 1
        }
    }

它只打印第一个索引(0)并返回整个文本

PETTY MIND
    2023
    IS
    COMMING
wd2eg0qa

wd2eg0qa1#

您可以使用NIO API
Java NIO(New IO)是Java的一种替代IO API

var list = Files.readString(Paths.get("myText.txt")).split(",\\s*");

代码解释:

  • 文件.readString()

将文件中的所有内容读入字符串,使用UTF-8字符集将字节解码为字符。该方法确保在读取所有内容或引发I/O错误或其他运行时异常时关闭文件。

  • 路径.get()

将路径字符串或连接后形成路径字符串的字符串序列转换为Path

  • split():拆分文件的内容(从方法Files.readString返回的字符串)并返回字符串数组

相关问题