我正在从文本文件中读取并将行保存到ArrayList
。但是我没有成功地阅读和阅读ArrayList
中的所有特定字符,有多少列和行。
这是我到目前为止编写的代码:
String line;
BufferedReader br = new BufferedReader(r);
ArrayList<String> myArrayList = new ArrayList<String>();
while ((line = br.readLine()) != null)
{
myArrayList.add(line);
.........
}
答案 0 :(得分:1)
如果我正在阅读您的帖子,那么您希望进一步分散您的行(您对列的引用)。由于您要存储String
个对象,因此您需要进一步将这些条目拆分为另一个 List
,以便正确地解析您的文字和字符。
Java曾经有一些名为StringTokenizer
的东西可以做你想要的东西,但现在已被弃用并被String.Split()方法取代。通过迭代ArrayList
并按特定分隔符(例如空格或句点)拆分String
对象,您应该能够进一步细分现有的ArrayList
并创建新的列表单个词,甚至是人物。
答案 1 :(得分:0)
你没有调用List
myArrayList,我想你想改变这个
ArrayList<String> myArrayList = new ArrayList<String>();
to(使用diamond operator和接口类型) -
List<String> store = new ArrayList<>(); // <-- match the name.
你可以计算&#34;行&#34;通过获取List
-
int rows = store.size();
计算&#34;列&#34;你需要迭代List并检查这些行。 (或者你可以在阅读输入时这样做) -
for (String line : store) {
// count columns in line
}
答案 2 :(得分:0)
我不知道你为什么使用“store.add(line)”。您应该使用myArrayList而不是this。 将所有内容存储在ArrayList中之后,您可以使用for-each循环遍历列表:
for (String string : myArrayList) {
// do everything with the strings here
}
答案 3 :(得分:0)
如果您想通过ArrayList
,可以通过多种方式尝试
您可以使用ArrayList
方法轻松获取size()
中的元素数量。
e.g。
//traditional way
for(int i = 0; i< arrayList.size(); i++){
System.out.println(arrayList.get(i));
}
//enhanced forloop
if your ArrayList is String type
for(String row : arrayList)
System.out.println(row);
使用Java 8,您可以使用更简单的迭代器来完成ArrayList
被修改
如果你想逐个字符阅读
for(String row : arrayList){
char []letters = row/toCharArray();
for(char character : letters)
System.out.print(character + " ") ;
}