Question

In: Computer Science

Java Code using Stack Write a program that opens a text file and reads its contents...

Java Code using Stack

Write a program that opens a text file and reads its contents into a stack of characters, it should read character by character (including space/line change) and push into stack one by one. The program should then pop the characters from the stack and save them in a second text file. The order of the characters saved in the second file should be the reverse of their order in the first file.

Ex input file:

Good Morning!

Bye..

EX output file:

!gninroM dooG

...eyB

Solutions

Expert Solution

import java.io.*;
import java.util.*;
class Stack{
    private static int top,maxsize;   
    private static char arr[];
        //Stack creation using arrays.
    Stack(int n){ 
                this.maxsize=n;
        top=-1;         
                arr=new char[maxsize];
    }   
        //push character into stack
    void push(char p){  
        char val=p;  
        top++;  
        arr[top]=val;   
    }   
    //pop character from stack  
    char pop(){   
        char o=arr[top];
        top --;    
        return o;  
    }
} 
public class File1{
        public static void main (String [] args)throws IOException{
                FileReader f=new FileReader("input.txt");
        BufferedReader read=new BufferedReader(f);
        String data;
                try{
                        //creating output file.
                        File fi=new File("output.txt");
                        //if output file exists then it is deleted and creates new one.
                        if(fi.exists()){
                                fi.delete();
                        }
                        FileWriter d=new FileWriter("output.txt",true);
                        while((data=read.readLine())!=null){
                                Stack s=new Stack(data.length());
                                //pushing characters into stack.
                                for(int i=0;i<=data.length()-1;i++){
                                        s.push(data.charAt(i)); 
                                }
                                //writing characters into output file.
                                for(int i=0;i<data.length();i++){
                                        d.write(s.pop());
                                }
                                d.write("\n");
                        }
                        //closing output file to ensure security.
                        d.close();
                }catch(Exception e){System.out.println(e);}
        }
}

Note:- If your input file is in another location i.e., other than current working directory, then please specify path in the above code as follows:-

FileReader f=new FileReader("C:\\Users\\HP\\Desktop\\java\\input.txt");


Related Solutions

Java Code using Queue Write a program that opens a text file and reads its contents...
Java Code using Queue Write a program that opens a text file and reads its contents into a queue of characters, it should read character by character (including space/line change) and enqueue characters into a queue one by one. Dequeue characters, change their cases (upper case to lower case, lower case to upper case) and save them into a new text file (all the chars are in the same order as the original file, but with different upper/lower case) use...
C Programming Write a program in C that reads in a file, stores its contents as...
C Programming Write a program in C that reads in a file, stores its contents as a character array/pointer (char*) into an unsigned character array/pointer (unsigned char* message). Note: the input file can have one line or multiple lines and vary in length
Write a JAVA program that reads a text file into RAM efficiently, takes a regular expression...
Write a JAVA program that reads a text file into RAM efficiently, takes a regular expression from the user, and then prints every line that matches the RE.
Using C++, write a code that this program always stores text file output into a text...
Using C++, write a code that this program always stores text file output into a text file named "clean.txt". -The program should read one character at a time from "someNumbers.txt", and do the following. -If it is a letter, print that letter to the screen, AND also store it in the text file. All letters should be converted to lowercase beforehand. -If it is a number, print that number to screen, but do NOT store it in the text file....
Write a C program that Reads a text file(any file)  and writes it to a binary file....
Write a C program that Reads a text file(any file)  and writes it to a binary file. Reads the binary file and converts it to a text file.
Write a program that reads a file called document.txt which is a text file containing an...
Write a program that reads a file called document.txt which is a text file containing an excerpt from a novel. Your program should print out every word in the file that contains a capital letter on a new line to the stdout. For example: assuming document.txt contains the text C++
Write Java program Lab52.java which reads in a line of text from the user. The text...
Write Java program Lab52.java which reads in a line of text from the user. The text should be passed into the method: public static String[] divideText(String input) The "divideText" method returns an array of 2 Strings, one with the even number characters in the original string and one with the odd number characters from the original string. The program should then print out the returned strings.
Using Java Project 2: Deduplication Write a program that reads a file of numbers of type...
Using Java Project 2: Deduplication Write a program that reads a file of numbers of type int and outputs all of those numbers to another file, but without any duplicate numbers. You should assume that the input file is sorted from smallest to largest with one number on each line. After the program is run, the output file should contain all numbers that are in the original file, but no number should appear more than once. The numbers in the...
Write a simple text-formating.cpp file that reads (asks for then reads) a text file and produces...
Write a simple text-formating.cpp file that reads (asks for then reads) a text file and produces another text file in Which blank lines are removed, multiple blanks are replaced with a single blank, and no lines are longer than some given length (let say 80). Put as many words as possible on the same line (as close as possible to 80 characters). You will have to break some lines of the given file, but do not break any words or...
You are given a text file containing a short text. Write a program that 1. Reads...
You are given a text file containing a short text. Write a program that 1. Reads a given text file : shortText.txt 2. Display the text as it is 3. Prints the number of lines 4. Prints the occurences of each letter that appears in the text. [uppercase and lowercase letter is treated the same]. 5. Prints the total number of special characters appear in the text. 6. Thedisplayofstep3,4and5aboveshouldbesaveinanoutputfile:occurencesText.txt write it in C++ programing Language
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT