I am trying to refactor a large program in Netbeans and I am a bit lost. I haven't ever been very modular but am trying to correct that now, and for the future by actually learning how to do this. Unfortunately I am having trouble translating some of the tutorials to my beast of a program. SO I was hoping someone here could help. Currently I am trying to break off a chunk of code that takes a file of a specific format and makes a table. I know that I need to make a class and use it to create a table object but I am unsure how. I have a main that gets command line input for where a file is located:
public class Print {
public static void main(String[] args) throws Exception {
// I know this part works
JSAP jsap = new JSAP();
FlaggedOption opt3 = new FlaggedOption("cllmap")
.setRequired(true)
.setShortFlag('c')
.setLongFlag("call map");
opt3.setHelp("Where is the flu, map file? Full path");
jsap.registerParameter(opt3);
String cllmp = config.getString("map");
I haven't tried to reference any of the new classes I made yet because I have not figured out how to do it correctly yet. Then I try to send the location of the file to another class so that the other class can read in the file and parse it into a table object.
public class Reader extends Print {
String inpt;
public class FReader {
//reading in
//throws exception error
FileInputStream fstream = new FileInputStream(cllmp);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
while ((inpt = br.readLine()) != null) {
if (!inpt.equals("Calls")) {
...
So why does my class FReader throw an exception and how to I make it stop? I can't say public class FReader throws Exception{
because I then get the error: '{' expected
same with putting it after extends Fingerprint2
.
What am I doing wrong here? Any suggestions?
Code must be put in methods, and not directly in the class body. The class is called
Reader
, so it should probably have aread()
method, and this method should read, and throw an IOException if it can't do it: