Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java读入一个文本文件,然后分成不同的数组_Java_Filereader - Fatal编程技术网

Java读入一个文本文件,然后分成不同的数组

Java读入一个文本文件,然后分成不同的数组,java,filereader,Java,Filereader,我有一个被读入的文本文件。它的测力仪是。有一个主题,然后有三段。假设标题,第1节,第2节,第3节,然后是下一篇文章 如何存储数据,使ArrayList one拥有所有标题,ArrayList 2拥有所有Section 1信息,等等。?我希望能够输出这些数组 例如: 暴风雨即将来临 关于这场大风暴 风暴静力学 关于风暴的结论 上面的示例显示了一条记录的外观 public void read() { try { FileReader fr = new FileRead

我有一个被读入的文本文件。它的测力仪是
。有一个主题,然后有三段。假设
标题
第1节
第2节
第3节
,然后是下一篇文章

如何存储数据,使ArrayList one拥有所有标题,ArrayList 2拥有所有Section 1信息,等等。?我希望能够输出这些数组

例如:
暴风雨即将来临

关于这场大风暴

风暴静力学

关于风暴的结论

上面的示例显示了一条记录的外观

public void read()
{
    try
    {
        FileReader fr = new FileReader(file_path);
        BufferedReader br = new BufferedReader(fr);
        String s = "";
        // keep going untill there is no input left and then exit         
        while((s = br.readLine()) != null)
        { }
        fr.close();
    }
    catch (Exception e)
    {
        System.err.println("Error: read() " + e.getMessage());
    }
}

public static void main(String [] args)
{
    Reader reader = new ResultsReader("C:/data.txt");
    reader.read();
    String output = ((ResultsReader)reader).getInput();
    String str = "title<.>section1<.>section2<.>";
    String data[] = str.split("<.>");   
}
public void read()
{
尝试
{
FileReader fr=新的FileReader(文件路径);
BufferedReader br=新的BufferedReader(fr);
字符串s=“”;
//继续,直到没有输入,然后退出
而((s=br.readLine())!=null)
{ }
fr.close();
}
捕获(例外e)
{
System.err.println(“错误:read()”+e.getMessage());
}
}
公共静态void main(字符串[]args)
{
Reader Reader=newresultsreader(“C:/data.txt”);
reader.read();
字符串输出=((ResultsReader)reader).getInput();
String str=“titlesection1section2”;
字符串数据[]=str.split(“”);
}

我不知道如何将数据存储在单独的ArrayList中,以便可以遍历它们

您无法创建数组并将数据放入其中,因为您不知道创建数组的大小。因此,请改为使用列表,然后在读取完文件后将其转换为数组:

List tilesList = new ArrayList<String>();
// etc.

FileReader fr = new FileReader(file_path);
BufferedReader br = new BufferedReader(fr);
String s = null // I think this should be null, so that if there are no lines, 
                // you don't have problems with str.split();
while((s = br.readLine()) != null) {
  String[] line = str.split("<.>");
  tilesList.add(line[1]);
  // etc.
}
fr.close();

String[] tiles = tilesList.toArray(new String[tilesList.size()]);
// etc.
List tilesList=new ArrayList();
//等等。
FileReader fr=新的FileReader(文件路径);
BufferedReader br=新的BufferedReader(fr);
String s=null//我认为这应该是null,所以如果没有行,
//str.split()没有问题;
而((s=br.readLine())!=null){
String[]line=str.split(“”);
添加(第[1]行);
//等等。
}
fr.close();
字符串[]tiles=tilesList.toArray(新字符串[tilesList.size()]);
//等等。

我应该添加arraylist我的错误