我对Java还是比较陌生,并且已经分配了一些听起来像这样的家庭作业:
来自文本文件,该文本文件具有以下模式的x行文本:
一个整数||字符串||另一个字符串,定义一个类,该类将从.txt文件中反序列化这些字段,并将它们转换为模型集,这些模型是我需要处理的字段,然后将它们序列化回.txt文件。
我仍然无法从已有的大约100行的文本文件中了解如何做到这一点。
有人可以给我提示或我可能错过的文章吗?
答案 0 :(得分:0)
假设您的txt文件中的内容如下:
1||a||b
2||text||more text
您会这样阅读:
public class FileReader {
public static void main(String[] args) {
String csvFile = "/path/to/input/file.txt";
BufferedReader br = null;
String line = "";
String cvsSplitBy = "||";
List<Model> modelList = new ArrayList<Model>();
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
// use comma as separator
String[] line = line.split(cvsSplitBy);
Model model = new Model(Integer.valueOf(line[0]), line[1], line[2]);
modelList.add(model)
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
class Model {
private int intValue;
private String stringValue1;
private String stringValue2;
public Model(int intValue,
String stringValue1,
String stringValue2) {
this.intValue = intValue;
this.stringValue1 = stringValue1;
this.stringValue2 = stringValue2;
}
//getters
}
}
此代码基于this tutorial。
一旦有了模型列表,就很容易生成字符串列表,然后将其写入文件。