Question

Create a java program that will sort text files in descending order (left column). Use your...

Create a java program that will sort text files in descending order (left column).

Use your program to sort the file unsortedFoodListA.txt to a file named sorted.FoodlistA.txt . Next sort the file named unsortedFoodListB.txt to a file named sortedFoodListB.txt. Read your data into a string arrays and sort based on the Food Category.

Write a program named mergeFoodList.java . Use your program to create a merger of the to sorted files created to a file named mergedFoodFiles.txt. Merge using the food category type as the sorting key.



unsortedFoodListA.txt
____________________________

Vegetable   ,     Amaranth Leaves
Vegetable   ,     Arrowroot
Vegetable   ,     Artichoke
Vegetable   ,     Arugula
Vegetable   ,     Asparagus
Vegetable   ,     Bamboo Shoots
Vegetable   ,     Beans Green
Meat   ,     Bear
Meat   ,     Beef
Meat   ,     Beef heart
Meat   ,     Beef liver
Meat   ,     Beef tongue
Vegetable   ,     Beets
Vegetable   ,     Belgian Endive
Vegetable   ,     Bitter Melon
Vegetable   ,     Bok Choy
Meat   ,     Bone soup from meats
Vegetable   ,     Broadbeans (Fava Beans)
Vegetable   ,     Broccoli
Vegetable   ,     Broccoli Rabe
Vegetable   ,     Brussel Sprouts
Meat   ,     Buffalo Bison
Vegetable   ,     Cabbage Green
Vegetable   ,     Cabbage Red
Meat   ,     Calf liver
Meat   ,     Caribou
Vegetable   ,     Carrot
Vegetable   ,     Cassava (Yuca Root)
Vegetable   ,     Cauliflower
Vegetable   ,     Celeriac (Celery Root)
Vegetable   ,     Celery
Vegetable   ,     Chayote
Poultry   ,     Chicken
Poultry   ,     Chicken Liver
Vegetable   ,     Chicory (Curly Endive)
Vegetable   ,     Collards
Vegetable   ,     Corn
Poultry   ,     Cornish Game Hen
Vegetable   ,     Crookneck
Vegetable   ,     Cucumber
Vegetable   ,     Daikon
Vegetable   ,     Dandelion Greens
Poultry   ,     Duck
Poultry   ,     Duck Liver
Vegetable   ,     Edamame Soybeans
Vegetable   ,     Eggplant
Poultry   ,     Emu
Vegetable   ,     Fennel
Vegetable   ,     Fiddleheads
Vegetable   ,     Ginger Root
Poultry   ,     Gizzards
Meat   ,     Goat
Poultry   ,     Goose
Poultry   ,     Goose Liver
Poultry   ,     Grouse
Poultry   ,     Guinea Hen
Meat   ,     Ham
Meat   ,     Horse
Vegetable   ,     Horseradish
Vegetable   ,     Jicama
Vegetable   ,     Kale
Meat   ,     Kangaroo
Vegetable   ,     Kohlrabi
Meat   ,     Lamb



unsortedFoodListB.txt
____________________________

GlutenFreeNuts   ,     Almonds
Gluten   ,     Amaranth
Fruits   ,     Avocado
Gluten   ,     Bagels
Gluten   ,     Barley
GlutenFreeNuts   ,     Baru Nuts
Fruits   ,     Beans
Gluten   ,     Beer
GlutenFreeNuts   ,     Black Walnuts
GlutenFreeNuts   ,     Brazil Nuts
Gluten   ,     Brewers yeast
Gluten   ,     bromated flour
Gluten   ,     Buckwheat
Gluten   ,     bulgur
Dairy   ,     Butter
Dairy   ,     Butter
GlutenFreeNuts   ,     Cacao
Gluten   ,     Candy or candy bars
GlutenFreeNuts   ,     Cashews
Dairy   ,     Cheese
Dairy   ,     Cheese
GlutenFreeNuts   ,     Chestnuts
Fruits   ,     Chickpeas
GlutenFreeNuts   ,     Chocolates & Sweets
Seafood   ,     Clams
GlutenFreeNuts   ,     Coconut
Fish   ,     Cod
Gluten   ,     Corn
Gluten   ,     Corn flakes
Gluten   ,     Cornbread
Gluten   ,     Crackers
Fruits   ,     Cucumbers
Dairy   ,     Cultured Dairy
Gluten   ,     durum
Gluten   ,     Egg noodles
Fruits   ,     Eggplant
Gluten   ,     Energy bars or granola bars
Gluten   ,     farina
Gluten   ,     Farro
Gluten   ,     farro
Fruits   ,     Flickr - threelayercakeCorn
Gluten   ,     Flour tortillas
Gluten   ,     French fries
Dairy   ,     Frozen Desserts
Gluten   ,     graham
Gluten   ,     Graham
Gluten   ,     Granola
Gluten   ,     Gravy
Fruits   ,     greek kalamata olives
Fruits   ,     green beans
GlutenFreeNuts   ,     Hazelnuts (Filberts)
Fish   ,     Herring
Dairy   ,     Ice Cream
Dairy   ,     Ice Cream
Gluten   ,     kamut
Seafood   ,     Lobster
GlutenFreeNuts   ,     Macadamia Nuts
Fish   ,     Mackerel
Gluten   ,     Malt extract
Gluten   ,     Malt syrup
Gluten   ,     Malt vinegar
Gluten   ,     Malted milk
Dairy   ,     Milk
Dairy   ,     Milk Powder
Dairy   ,     Milk Powder
Gluten   ,     Millet
GlutenFreeNuts   ,     Mixed Nuts
Gluten   ,     Montina
Seafood   ,     Mussels
GlutenFreeNuts   ,     Nut & Plant Based Milks
GlutenFreeNuts   ,     Nut Flours
GlutenFreeNuts   ,     Nut Powders
GlutenFreeNuts   ,     Nuts in Shell
Fruits   ,     Okra
Fruits   ,     Olives
GlutenFreeNuts   ,     Organic Nuts
Seafood   ,     Oysters
Fish   ,     Pacific halibut
Gluten   ,     Panko breadcrumbs

0 0
Add a comment Improve this question Transcribed image text
Answer #1

// SortMain.java

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;

public class SortMain {
    public static void main(String[] args) {
        sortFile("src/unsortedFoodListA.txt","src/sortedFoodListA.txt");
        sortFile("src/unsortedFoodListB.txt","src/sortedFoodListB.txt");
    }
    public static void sortFile(String inputFilename,String outputFilename) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader(inputFilename));
            String[] lines=new String[1000];
            String line;
            int size=0;
            while((line=reader.readLine())!=null){
                lines[size++]=line;
            }
            for(int i=0;i<size;i++){
                for(int j=i;j<size;j++){
                    if(lines[i].split(",")[0].compareTo(lines[j].split(",")[0])<0){
                        String temp = lines[i];
                        lines[i] = lines[j];
                        lines[j]  = temp;
                    }
                }
            }
            BufferedWriter writer = new BufferedWriter(new FileWriter(outputFilename));
            for(int i=0;i<size;i++){
              writer.write(lines[i]+(i==size-1?"":"\n"));
            }
            writer.close();
        } catch (Exception e) {
            System.out.println("File IO Error");
        }

    }
}

//MergeFoodMain.java

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;

public class MergeFoodList {
    public static void main(String[] args) {
        mergeFoodList("src/sortedFoodListA.txt","src/sortedFoodListB.txt","src/mergedFoodFiles.txt");
    }

    private static void mergeFoodList(String inputFile1Name, String inputFile2Name, String outputFilename) {
        try {
            //File1 Reading
            BufferedReader reader = new BufferedReader(new FileReader(inputFile1Name));
            String[] inputFile1lines=new String[1000];
            String line;
            int inputFile1Size=0;
            while((line=reader.readLine())!=null){
                inputFile1lines[inputFile1Size++]=line;
            }
            reader.close();

            //file2 reading
            reader = new BufferedReader(new FileReader(inputFile2Name));
            String[] inputFile2lines=new String[1000];
            int inputFile2Size=0;
            while((line=reader.readLine())!=null){
                inputFile2lines[inputFile2Size++]=line;
            }
            //merged list file writing
            String[] outputLines =new String[2000];
            int i = 0; // file 1 index
            int j = 0; //file 2 index
            int k = 0; //output file index

           while(i<inputFile1Size&&j<inputFile2Size){
               if(inputFile1lines[i].split(",")[0].compareTo(inputFile2lines[j].split(",")[0])>0){
                   outputLines[k] = inputFile1lines[i++];
               }
               else {
                   outputLines[k] = inputFile2lines[j++];
               }
               k++;
           }
           while(i<inputFile1Size){
               outputLines[k++] = inputFile1lines[i++];
           }
           while(j<inputFile2Size){
               outputLines[k++]=inputFile2lines[j++];
           }


            BufferedWriter writer = new BufferedWriter(new FileWriter(outputFilename));
            for(int i1=0;i1<k;i1++){
                writer.write(outputLines[i1]+(i1==k-1?"":"\n"));
            }
            writer.close();
        } catch (Exception e) {
            System.out.println("File IO Error");
        }
    }
}

//First Run the SortMain

//Then Run MergeFoodList

// output Files

Add a comment
Know the answer?
Add Answer to:
Create a java program that will sort text files in descending order (left column). Use your...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • write a detailed and organized summary with 3 to 4 paragraphs CONTROVERSY 6 Table of Contents...

    write a detailed and organized summary with 3 to 4 paragraphs CONTROVERSY 6 Table of Contents Vegetarian and Meat-Containing Diets: What Are the Benefits and Pitfalls? Notebook LO 6.7 Compare the advantages and disadvantages of the vegetarian diet and the meat eater's diet Table C6-1 Terms Used to Describe Vegetarian Diets Some of the terms below are in common usage, but others are useful only to researchers In affluent countries, where heart disease and cancer claim many lives, people who...

  • write a detailed summary in an organized format. It must include 3-4 key points of the...

    write a detailed summary in an organized format. It must include 3-4 key points of the controversy. Break up your summary in 3-4 paragraphs. Must include specific reasons as to why a vegetarian diet can be better and or worse than the meat heavy diets? Explain briefly using examples how reading this controversy has helped you in making better dietary choices in future? CONTROVERSY 6 Table of Contents Vegetarian and Meat-Containing Diets: What Are the Benefits and Pitfalls? Notebook LO...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT