需要帮助从文件中获取数据以在构造函数中使用(Java)

需要帮助从文件中获取数据以在构造函数中使用(Java),java,Java,我正试图摆脱硬编码的信息,但我不知道我会怎么做。这是我的密码: import java.io.*; public class Chemical { private String chemName; private String chemFreezingPoint; private String chemBoilingPoint; private String chemUnitNumbers; public Chemical(String name,

我正试图摆脱硬编码的信息,但我不知道我会怎么做。这是我的密码:

import java.io.*;
public class Chemical {

    private String chemName;
    private String chemFreezingPoint;
    private String chemBoilingPoint;
    private String chemUnitNumbers;


    public Chemical(String name, String freezingPoint, String boilingPoint, String unitNumbers){
    chemName = name;
    chemFreezingPoint = freezingPoint;
    chemBoilingPoint = boilingPoint;
    chemUnitNumbers = unitNumbers;
    }

    Chemical Ethanol        = new Chemical("Ethanol",         "-173",   "172",   "1575");
    Chemical Oxygen         = new Chemical("Oxygen",          "-363",   "-306",  "1000");
    Chemical Water          = new Chemical("Water",           "32",     "212",   "5000");
    Chemical Benzene        = new Chemical("Benzene",         "41.9",   "176.2", "2750");
    Chemical EthyleneGlycol = new Chemical("Ethylene Glycol", "8.78",   "378",   "1900");

    public static String[][] returnArray(){
        String[][] chemArray = {{"Ethanol","-173","172","1575"},{"Oxygen","-363","-306","1000"},{"Water","32","212","5000"},
                {"Benzene","41.9","176.2","2750"},{"Ethylene Glycol","8.78","378","1900"}};
        return chemArray;
    }

}

我需要的帮助是用从文本文件中获取的数据替换硬编码数据。我还需要使用我从2D数组中的文件中获得的数据,但我不确定如何做这两件事,因为我以前从未从文件中读取数据。要从文本文件中读取行,您可以使用BufferedReader类,也可以使用readln(),我们非常感谢您的帮助;一次一行读取化学品及其信息的方法。此外,将沸点的字符串e.t.c.转换为整数会更节省内存,并且可以对化学品的每个属性使用单独的数组。但是,在像这样的小型应用程序中,这不应该是一个问题,假设您的文件格式如下:

ethanol,-173,172,1575
oxygen,-363,-306,1000
...
然后你可以这样做:

// Gotta put the file someplace
ArrayList<String> contents = new ArrayList<String>(0);

// Read the file into memory
String line;
BufferedReader bufferedReader = new BufferedReader(reader);
while ((line = bufferedReader.readLine()) != null) {
    contents.add(line);
}
bufferedReader.close();

// Create a dictionary (a HashMap) to hold the data
HashMap<String, Chemical> map = new HashMap<>();

// Load that Map with data
for (String line : contents) {
    String[] data = line.split(",")
    map.put(new Chemical(data[0], data[1], data[2], data[3]));
}
//我得把文件放在某个地方
ArrayList内容=新的ArrayList(0);
//将文件读入内存
弦线;
BufferedReader BufferedReader=新的BufferedReader(读卡器);
而((line=bufferedReader.readLine())!=null){
内容。添加(行);
}
bufferedReader.close();
//创建一个字典(HashMap)来保存数据
HashMap=newHashMap();
//用数据加载该地图
for(字符串行:内容){
字符串[]数据=行。拆分(“,”)
map.put(新化学品(数据[0],数据[1],数据[2],数据[3]);
}

您需要仔细阅读酒店,这正是您需要的。谷歌今天倒闭了吗?@Erwin Bolwidt:谷歌太难了,你可以在一个框中输入文本,让一个或多个用户回复你的文本。