如何读取文件?爪哇

时间:2018-11-29 00:57:19

标签: java file

我创建了一个类,该类具有读取和写入文件的功能,甚至可以解析文件中的内容。但是,当我运行测试时,我无法读取该文件。这是我所拥有的内容的摘要,如果还不够,我可以发布其余我需要帮助的内容。

这是我的主要表情:

public static void main(String args[]) throws IOException {

    String fileLocation = File.separator + "Users" + File.separator + "Desktop" + File.separator + "test.txt";
File file = new File(fileLocation);

DataStorage data = new DataStorage(fileLocation);
data.read();
}

这是我的读取方法的样子:

public File file;

public DataStorage(String filePath) {
    setFile(filePath);
}

public Data read() throws IOException {
    Data db = new Data();
    Scanner scan = new Scanner(file);
    Person person;
    //check if file has data print selected data
    while(scan.hasNextLine()) {
        person = parsePerson(scan.nextLine());
        db.add(person);
    }
    if(scan != null) {
    // close() may throw IOException if fails;
    scan.close();
    }
    return db;
}

1 个答案:

答案 0 :(得分:-1)

您需要将文件对象作为参数传递,而不是filePath,并且在主方法“ C DRIVE IF WINDOWS”中发送的路径不正确,否则以\开头,即Mac的File.separator

public class Stackex1 {
    public static void main(String args[]) throws IOException {

        String fileLocation = "C:"+ File.separator + "Users" + File.separator + "USERNAMEGOESHERE" + File.separator + "Desktop" + File.separator + "test.txt";
        System.out.println(fileLocation);
        File file = new File(fileLocation);

        DataStorage data = new DataStorage(file);
        data.read();
    }
}

class DataStorage {
    public File file;

    public DataStorage(File file) {
        setFile(file);
    }

    public void setFile(File file) {
        this.file = file;
    }
    .... //Remaining code goes here