我的目标是:将文件中的每一段数据放入一个数组中。然后将该数组传递给主方法,以便我可以调用我需要的任何一段数据,并在必要时添加它。如何将文件中的数据读入数组?
我现在在哪里:我创建了文件和它的内容,并将它们放入一个数组中。当我尝试从我的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;
}
}
阵列不有一个名为“添加”的方法,把“数据”的声明在try块之外,如果你想添加元素阵列,采用赋值数据[I] = inFile.next()。 – Anil 2015-02-08 18:38:35
使用java.nio.file和'Files.readAllLines()',你的工作会更容易 – fge 2015-02-08 18:44:14
这个“java.lang.String; @ 6dd4ea6c”表示你的内存位置。使用toString()方法获取数组中的值。 – 2015-02-08 18:54:18