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
Demo3.javaimport 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