title: How do I read and write a file from ArrayLists in Java
body: <p>So I have the following read and write file program for an Array. How would the following look like for an ArrayList? I am having trouble with the syntax. I know an ArrayList would be like that: private ArrayList prod list = new ArrayList();
  BUt how would the read/write IO syntax be? Thank you.</p>
  
  <pre><code>    static ActionProduct[] prodlist = new ActionProduct[50];
      static String filename = System.getProperty("user.dir") + "\\src\\product.txt";
      static int pIndex=0;
  
  
  public static void readFile() throws IOException {
          // input file must be supplied in the first argument
          InputStream istream;
          if (filename.length() &gt; 0) {
              File inputFile = new File(filename);
              istream = new FileInputStream(inputFile);
          } else {
              // if no filename, use standard input stream
              istream = System.in;
          }
  
          // use a buffered reader for line-at-a-time
          // reading
          BufferedReader lineReader;
          lineReader = new BufferedReader(new InputStreamReader(istream));
  
          // read one line at a time
          String line;
          while ((line = lineReader.readLine()) != null) {
  
              StringTokenizer tokens = new StringTokenizer(line, "\t");
  
              // String tmp = tokens.nextToken();
              // System.out.println("token " + tmp);
              prodlist[pIndex] = new ActionProduct();
              String category = prodlist[pIndex].getCategory();
              category = tokens.nextToken();
              System.out.println("got category " +category);
  
              int item = prodlist[pIndex].getItem();
              item = Integer.parseInt(tokens.nextToken());
  
              String name = prodlist[pIndex].getName();
              System.out.println("got name " +name);
  
              double price = prodlist[pIndex].getPrice();
              price = Double.parseDouble(tokens.nextToken());
  
              int units = prodlist[pIndex].getUnits();
              units = Integer.parseInt(tokens.nextToken());
              pIndex++;
          }
      }
  </code></pre>