我的目標是:將文件中的每一段數據放入一個數組中。然後將該數組傳遞給主方法,以便我可以調用我需要的任何一段數據,並在必要時添加它。如何將文件中的數據讀入數組?
我現在在哪裏:我創建了文件和它的內容,並將它們放入一個數組中。當我嘗試從我的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