我想知道你如何从一个文本文件中获取信息,并将其写入单独的数组列表中。
human, parrot, salmon
dog, chicken, trout
rat, flamingo, goldfish
cat, cardinal, minnow
如你所见,上面有哺乳动物、鸟类和鱼类的群体!所以我将这些数组列表声明为。
ArrayList<String> mammalList = new ArrayList<String>();
ArrayList<String> birdList = new ArrayList<String>();
ArrayList<String> fishList = new ArrayList<String>();
目标是将人类、狗、老鼠和猫的字符串对象写入mammalList。然后将鸟写到鸟列表,将鱼写到鱼列表。
我知道如何使用缓冲读取器读取单个数组列表中的文本文件,但我不知道如何将每个动物分为各自的类别。非常感谢你的帮助!
下面是在Freestyle 076的帮助下正确运行的完成代码:)
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class testClass {
public static void main(String[] args) {
ArrayList<String> mammalList = new ArrayList<String>();
ArrayList<String> birdList = new ArrayList<String>();
ArrayList<String> fishList = new ArrayList<String>();
BufferedReader read = null;
try {
read = new BufferedReader(new FileReader("data/animal_data.txt"));
String str;
while ((str = read.readLine()) != null) {
String[] lineValues = str.split(" "); //split the string on spaces into array
mammalList.add(lineValues[0].substring(0,lineValues[0].length() - 1)); //the mammal value, substring is to remove the comma
birdList.add(lineValues[1].substring(0,lineValues[1].length() - 1)); //bird value, again substring to remove comma
fishList.add(lineValues[2]); //fish value, no comma to remove
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (read != null) {
try {
read.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
for(String mList:mammalList){
System.out.println(mList);
}
}
}
它目前只使用增强的for循环打印哺乳动物列表。
您可以尝试将文件内容加载到字符串变量中,并使用换行符拆分到数组中。然后用逗号分开每一行。由于数据的结构类似于一个db表,所以u可以安全地假设每行上的索引0代表一个列表,下一行中的索引1代表d
使用StringTokenizer以逗号分隔字符串。您知道哪个位置有哪个元素,所以只需将它们添加到相应的ArrayList中即可。
可以拆分空间中的每一行,并将哺乳动物、鸟类和鱼类值分别附加到哺乳动物、鸟类和鱼类列表中。
String sCurrentLine;
br = new BufferedReader(new FileReader("yourfilepath"));
while ((sCurrentLine = br.readLine()) != null) {
String[] lineValues = sCurrentLine.split(" "); //split the string on spaces into array
mammalList.add(lineValues[0].substring(0,lineValues[0].length() - 1)); //the mammal value, substring is to remove the comma
birdList.add(lineValues[1].substring(0,lineValues[1].length() - 1)); //bird value, again substring to remove comma
fishList.add(lineValues[2]); //fish value, no comma to remove
}
我当然假设ArrayList已经被实例化了。
还要注意fish值(listValues[2]),我不记得BufferedReader是否消除了每个读取行的新行字符('\n')。如果在readLine()调用后它仍在字符串中,您可能需要将换行符子字符串化
我正试图将我的客户Java对象保存到一个文本文件中,然而,每当我尝试执行GUI并输入字段时,输出是这样的:文件中混淆的字符和数据 我根本不知道怎么解决这个问题。 下面是我的保存到文件代码: customer对象存储在数组中: 当按下submit按钮并将其保存到customer对象数组时,将创建My customer对象,如以下代码所示: 下面是GUI布局
我试图通过使用类将模板文档替换为Apache。我在doc和文件中有标记来读取替换数据。我的问题是,当我将的扩展名更改为文件并打开时,中的文本行似乎以某种方式分开。例如,文本分别变为和。以相同的方式读取,因为原始文件是这样的。这将在段落中创建2个对象,分别将文本显示为和。 我的问题是,是否有一种方法可以通过合并相关的运行或类似的方式强制像Word一样运行?或者我该如何解决这个问题?我在替换时匹配运行
本文向大家介绍Java将对象保存到文件中/从文件中读取对象的方法,包括了Java将对象保存到文件中/从文件中读取对象的方法的使用技巧和注意事项,需要的朋友参考一下 1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: 参数obj一定要实现Serializable接口,否则会抛出java.io.NotSerializableExcept
努力将json从URL上的文件(myData.json)加载到对象中,以便访问属性值。 --数据立即加载,我在应用程序中非常需要它。 -我将访问整个应用程序中的数据,而不仅仅是数据加载后立即发生的一个函数的一部分。 --我已确保文件中的数据格式正确。 按照jQuery API上的示例,我不应该做一些简单的事情,比如: 警报(jqxhr.my财产); 得到价值吗?我错过了哪一步?我试过做评估和其他类
问题内容: 我有一个Java库,我想将一个Java对象的实例保存到文本文件中。我尝试使用所有Java库对XML进行序列化和反序列化:但是反序列化不起作用。我在这里发布了一个问题:但是看来我无法为此找到解决方案。 我也尝试过序列化到json ,但是从json反序列化不起作用。 因此,我想知道,还有其他方法可以从Java对象(无法修改以添加标签:)到文本文件进行序列化和反序列化吗? 提前致谢! 问题答
所以我看了几个解决方案,但没有一个对我有效。感谢一些人,我最终得到了无限循环,但它仍然对我不起作用。我想将文件“output.txt”读入对象列表。所以我提供了剩下的代码,因为我认为它们不会有任何帮助... 错误消息如下: java.io.StreamCreptedException:无效的流头:3134313b,位于java.io.objectinPutStream.ReadStreamHead