Concept explainers
Explanation of Solution
Program code:
JavaStripper.java
//import the required packages
import java.io.File;
import java.util.Arrays;
import java.util.Scanner;
//define a class JavaStripper
public class JavaStripper
{
//define the main
public static void main(String[] args) throws Exception
{
//create the object of File class
File fileName = new File("htmlfile.txt");
//create the object of Scanner class to refer the file
Scanner inFile = new Scanner(fileName);
//call the method stripComments()
stripComments(inFile);
}
//define a method stripComments()
public static void stripComments(Scanner inFile) throws Exception
{
//create a string variable inputstring
String inputstring = "";
//iterate a while loop
while (inFile.hasNextLine())
{
//read the line to inputstring
inputstring = inputstring + " \n " + inFile.nextLine();
}
//create a character array
char[] inputchar = inputstring.toCharArray();
//create an integer variable
int nCommentBegin = 0;
//create a boolean variable
boolean IsLineCommentOpen = false;
//iterate a for loop
for(int i = 0; i<inputchar.length; i++)
{
//if the condition is true
if(inputchar[i] == '/' && inputchar[i+1] == '*')
{
//set as starting of comment
nCommentBegin = i;
}
//else condition
else if(inputchar[i] == '*' && inputchar[i+1] == '/')
{
//remove the comments within /* */
char[] str2Remove = Arrays.copyOfRange(inputchar, nCommentBegin,(i+2));
//set the value of inputstring
inputstring = inputstring.replace(new String(str2Remove), "");
}
//else condition
else if(inputchar[i] == '/' && inputchar[i+1] == '/')
{
//set as the beggning of single line comment
nCommentBegin = i;
IsLineCommentOpen = true;
}
//else if the character is \n
else if(inputchar[i] == '\n')
{
//checks the va
if(IsLineCommentOpen)
{
//set the value of str2Remove
char[] str2Remove = Arrays.copyOfRange(inputchar, nCommentBegin,i);
//call the replace() method
inputstring = inputstring.replace(new String(str2Remove), "");
//set the value of IsLineCommentOpen to false
IsLineCommentOpen = false;
}
}
}
//print the inputstring
System...
Want to see the full answer?
Check out a sample textbook solutionChapter 6 Solutions
Building Java Programs: A Back To Basics Approach (5th Edition)
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education