java - 如何将文件中的数据读取到数组中?

标签 java arrays string file input

我的目标:将文件中的每条数据放入一个数组中。然后将该数组传递到 main 方法中,以便我可以调用我需要的任何数据,并在必要时附加它。

我现在所在的位置:我已经创建了文件及其内容并将它们放入数组中。当我尝试从主方法调用并打印数组时,我得到 [Ljava.lang.String;@6dd4ea6c 这是什么?为什么它不允许我将数组打印到控制台?

帮忙?

我的代码:

   /**
Add in javadoc comments
*/


//import statements
    import java.io.*;
    import java.util.Scanner;
    import java.util.ArrayList;

public class Try { 

    public static void main(String[] args){
        fileSetUp();
        System.out.println(fileSetUp());
    }

    public static void createFile(){
        //create file holding inventory information
        try{
            PrintWriter outputFile = new PrintWriter("inventory.txt");
            outputFile.println("3000.0");
            outputFile.println("Lamps 15.3 400");
            outputFile.println("Chairs 19.95 250");
            outputFile.print("Desks 95.0 300");
            int i =0;
            outputFile.close();
        }
        catch(IOException e){
        System.out.println("File cannot be created."); //?????
        }
    }
    public static String[] fileSetUp(){
        //load the file information
        String[] data = new String[10];
        try{
            File file = new File("inventory.txt");
            Scanner inFile = new Scanner(file);
            for(int i=0; i<data.length; i++){
                data[i] = (inFile.next());
            }
            inFile.close();
        }
        catch(FileNotFoundException e){
            System.out.println("Cannot find file.");
        }
        return data;
    }
}

最佳答案

由于您的数据是面向行的,因此请采取“简单的方法”:

public static String[] getDataFromFile(final String filename)
    throws IOException
{
    final Path path = Paths.get(filename);
    final List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
    return lines.toArray(new String[lines.size()]);
}

或者只使用List而不是数组。

<小时/>

至于:

When I try to call and print the array from my main method, I get [Ljava.lang.String;@6dd4ea6c

这是数组的字符串表示形式。

如果您需要元素,请使用数组的Arrays.toString()。或者,再次,只需使用 List

关于java - 如何将文件中的数据读取到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28397771/

相关文章:

java - junit - 测试从未实例化的类的私有(private)方法

java - 尝试从 JSON 数组获取对象值时观察到空指针

python - list.pop 的 numpy 等价物?

JavaScript:一个字符在一个字符串中出现了多少次?

php str_replace函数问题

java - AssertJ:如何使用 compareTo 和 extracting() 断言 BigDecimals

java - JPA namedQuery 中的 COALESCE

string - Rust 编译器选择 collection::string 而不是 std::string

java - 我正在尝试编写一个包含 2 个赛车手的程序,但它一直给我一个 IllegalThreadStateException

php - 我的循环创建另一个父数组而不是将其附加到我指向的位置?