【发布时间】:2015-04-08 11:37:20
【问题描述】:
我的目标:将文件中的每条数据放入一个数组中。然后将该数组传递给 main 方法,这样我就可以调用我需要的任何数据,并在必要时附加它。
我现在在哪里:我已经创建了文件及其内容并将它们放入一个数组中。当我尝试从我的 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;
}
}
【问题讨论】:
-
array 没有名为“add”的方法并将“data”声明放在 try 块之外,如果要向数组添加元素,请使用 data[i]=inFile.next 赋值()。
-
使用 java.nio.file 和
Files.readAllLines(),你的工作会轻松很多 -
这个“java.lang.String;@6dd4ea6c”表示你的内存位置。使用 toString() 方法获取数组中的值。
标签: java arrays string file input