gpt4 book ai didi

java - 如何将从文件读取的字符串添加到ArrayList?

转载 作者:行者123 更新时间:2023-12-02 05:19:12 24 4
gpt4 key购买 nike

我有一个 super 初学者的问题。我今天有一场计算机科学考试,练习题之一是这样的:

  • 编写一个执行以下任务的程序:
  • 打开名为 hello.txt 的文件。
  • 存储消息“Hello, World!”在文件中。
  • 关闭文件。
  • 再次打开同一文件。
  • 将消息读入字符串变量并打印它。

这是我到目前为止的代码:

import java.util.*;
import java.io.*;

public class ReadFile
{
public static void main(String[] args) throws FileNotFoundException
{
PrintWriter out = new PrintWriter("hello.txt");
out.println("Hello, World");
File readFile = new File("hello.txt");
Scanner in = new Scanner(readFile);
ArrayList<String> x = new ArrayList<String>();
int y = 0;

while (in.hasNext())
{
x.add(in.next());
y++;
}

if (x.size() == 0)
{
System.out.println("Empty.");
}
else
{
System.out.println(x.get(y));
}

in.close();
out.close();
}
}

这段代码有什么问题?

最佳答案

1)您需要关闭流

2) 你需要用 (y-1) 引用 x Arraylist,否则你会得到java.lang.IndexOutOfBoundsException 。索引从 0 开始,而不是从 1 开始。

http://www.tutorialspoint.com/java/util/arraylist_get.htm

   public static void main(String[] args) throws FileNotFoundException
{
PrintWriter out = new PrintWriter("hello.txt");
out.println("Hello, World");
out.close();
File readFile = new File("hello.txt");
Scanner in = new Scanner(readFile);
ArrayList<String> x = new ArrayList<String>();
int y = 0;

while (in.hasNext())
{
x.add(in.next());
y++;
}

in.close();

if (x.size() == 0)
{
System.out.println("Empty.");
}
else
{
System.out.println(x.get(y-1));
}

}
}

关于java - 如何将从文件读取的字符串添加到ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26634533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com