Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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 bufferredReader从txt文件创建的可重用arraylist。怎么办,最好的办法是什么?_Java_Multithreading_Arraylist_Collections_Bufferedreader - Fatal编程技术网

Java bufferredReader从txt文件创建的可重用arraylist。怎么办,最好的办法是什么?

Java bufferredReader从txt文件创建的可重用arraylist。怎么办,最好的办法是什么?,java,multithreading,arraylist,collections,bufferedreader,Java,Multithreading,Arraylist,Collections,Bufferedreader,一开始我想说的是,我关心问题的最佳解决方案。也就是说,我创建了一个从文件中检索数据的方法,然后从中创建一个列表: public List<Klient> bufferedReaderCollection() throws IOException { String line; try { bf = new BufferedReader(new InputStreamReader (new FileInputStream(f

一开始我想说的是,我关心问题的最佳解决方案。也就是说,我创建了一个从文件中检索数据的方法,然后从中创建一个列表:

public List<Klient> bufferedReaderCollection() throws IOException {
            String line;        
    try {
        bf = new BufferedReader(new InputStreamReader (new FileInputStream(fileName), "UTF-8"));

          while((line = bf.readLine()) != null) {

          String[] split = line.split(";"); 
          String nameCompany = split[0].substring(2);
          String adress = split[1]; 
          String phoneNumber = split[2]; 
          String emailAdress = split[3];

          Client k = new Client(nameCompany, adress, phoneNumber, emailAdress);
          bufferedReaderClientLIst.add(k); 
          }

    }catch (IOException e) {


}
    System.out.println(bufferedReaderClientLIst);
    return bufferedReaderClientLIst;

}

我正在寻找一种解决方案,使我能够在不放弃线程和向每个方法添加BufferedReder函数的情况下使用列表。我想要一个单独的方法来做这件事,然后其他方法负责数据搜索等。。你会用什么方法解决这个问题?如有任何建议,我将不胜感激

删除您的try/catch。您的方法已经有
抛出IOException
(这是正确的)。不要禁止读取文件失败。返回错误数据对调用代码没有任何好处。方法的调用方应该知道文件是否无法读取。感谢您的建议,我将使用局部变量更正它。在方法外部声明变量
bf
bufferedReaderClient列表
,迟早会产生bug,如果它还没有。使用。
 bf = new BufferedReader(new InputStreamReader (new FileInputStream(fileName), "UTF-8"));

      while((line = bf.readLine()) != null) {

      String[] split = line.split(";"); 
      String nameCompany = split[0].substring(2);
      String adress = split[1]; 
      String phoneNumber = split[2]; 
      String emailAdress = split[3];

      Client k = new Client(nameCompany, adress, phoneNumber, emailAdress);
      bufferedReaderClientLIst.add(k);