简体   繁体   中英

Reading and Writing TXT Files in Java

I know this is probably entry level stuff but I need some help. Im working on this for a class I've exhausted my class resources so I'm in need of some help

Also I am using Eclipse and it's not showing any errors

I have an array that has been written to a txt file. I am having trouble reading it. Basically the program forces the customer to order three times, the writer writes it three times, exactly like it should, but I'm not sure how to get the reader to read it three times, it's only reading the first.

 public static void writeOrderHeader(String name, String returning) throws Exception
        {
            File file;
            file = new File("order.txt");
            PrintWriter pw = new PrintWriter(file);
            pw.println(name);
            pw.println(returning);
            pw.close();
        }

        public static void writeOrderFile(String product, String size, String type, int qty, double total) throws Exception
        {
            String file = "order.txt";
            PrintWriter pw = new PrintWriter(new FileWriter(file, true));
            pw.println(product);
            pw.println(type);
            pw.println(size);
            pw.println(qty);
            pw.println(total);
            pw.close();
        }
        public static void confirmation() throws IOException
        {
            File file;
            BufferedReader bf = null;
            String name, returning, product, type, size, qty, total;
            int intQty;
            double dblTotal;
            file = new File("order.txt");
            FileReader fr = new FileReader(file);
            bf = new BufferedReader(fr);
            name = bf.readLine();
            returning = bf.readLine();
            product = bf.readLine();
            size = bf.readLine();
            type = bf.readLine();
            qty = bf.readLine();
            total = bf.readLine();
            fr.close();
            intQty = Integer.parseInt(qty);
            dblTotal = Double.parseDouble(total);
            String nameOutputMsg = "Welcome " + name + ".\n";
            String returnOutputMsg = "Your returning customer status is " + returning + ".\n";
            String productOutputMsg = "Your first choice to buy a/n size " + type + " " + size + " " + product + " with the quantity of " + intQty + ".\n";
            String totalOutputMsg = "Your first Order total is $" + String.format("%.2f", dblTotal) + ".\n";
            String goodbyeOutputMsg = "Thanks for ordering at ThinkGeek!";
            String outputMsg = nameOutputMsg + returnOutputMsg + productOutputMsg + totalOutputMsg + goodbyeOutputMsg;
            JOptionPane.showMessageDialog(null, outputMsg); 
        }

// reading

    File f = new File(Address);
    FileReader r = new FileReader(f);
    BufferedReader b = new BufferedReader(r);
    String out = "";
    String k="";
    while( (out=b.readLine()) != null) {
        k+=out;
    }
    b.close();

//so the String k is the answer

//writing :

    File file = new File(Address);
    FileWriter fw = new FileWriter(file, true);
    BufferedWriter bw = new BufferedWriter(fw);
    bw.write(YourString);  
    bw.close();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM