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...
File Compare Write a program that opens two text files and reads their contents into two...
File Compare Write a program that opens two text files and reads their contents into two separate queues. The program should then determine whether the files are identical by comparing the characters in the queues. When two nonidentical characters are encountered, the program should display a message indicating that the files are not the same. If both queues contain the same set of characters, a message should be displayed indicating that the files are identical. // Copyright (c) 2013 __Pearson...
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 program that opens the file: "Lab6A_Data", reads all the values from the file, and...
Write a program that opens the file: "Lab6A_Data", reads all the values from the file, and calculates the following: A) The number of values in the file B) The sum of all the values in the file (a running total) C) The average of all the values in the file. D) The minimum value. E) The maximum value. F) The range of the data set of values. G) The number of times the value: '357' occurrs in the file. Display...
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 the programs in JavaScript: Write a program that reads a text file and outputs the...
Write the programs in JavaScript: Write a program that reads a text file and outputs the text file with line numbers at the beginning of each line.
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.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT