Demo3.java

Download demo3.zip

Open JFileChooser with only *.txt files and read resistance list

C:\ece538\Demo3>java Demo3
reading from circuit1.txt
R R1 1 2 1.0
R R2 2 0 5.0
R R3 2 0 4.0
R R4 1 0 2.0

See also

Resistor.java
circuit1.txt


Demo3.java

import java.awt.Desktop;
import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;

 
public class Demo3 
{
    static ArrayList<Resistor> rlist = new ArrayList<Resistor>();


     public static void read_circuit(String filename)
     { 
	rlist.clear();
	try (BufferedReader br = new BufferedReader(new FileReader(filename));) 
	{
		String CurrentLine;

		while ((CurrentLine = br.readLine()) != null) 
		{
			//Split each line of text file
			String delims = "[\\s]+";
 			String[] tokens = CurrentLine.trim().split(delims);
			if (tokens[0].equals("R")) {
				Resistor r = new Resistor(tokens);
				System.out.println(r);
				rlist.add(r);
			}					
		}
		br.close(); 
	 } 		
	catch (IOException e) 
	{
		System.err.println(e);
	}
    }


    public static void main(String[] args)
    {
           // Chooses the file
           JFileChooser fc = new JFileChooser(System.getProperty("user.dir"));
           fc.setAcceptAllFileFilterUsed(false);
           fc.addChoosableFileFilter(new FileNameExtensionFilter("Text files", "txt"));
           fc.setAcceptAllFileFilterUsed(true);

           File file = args.length>0?  new File(args[0]): null;
           if (file == null) {
	int returnVal = fc.showOpenDialog(null);
        	if (returnVal == JFileChooser.APPROVE_OPTION) {
                	        file = fc.getSelectedFile();
                  }
            }
            if (file == null) System.exit(-1);
            String filename = file.getName();
            System.out.println("reading from "+filename);
            read_circuit(filename);
    }
 }


Maintained by John Loomis, updated Fri Feb 21 17:14:38 2020