Strip block comments: Difference between revisions

m
→‎{{header|Java}}: Make clearer by refactoring subtasks into methods
m (→‎{{header|C}}: prettier)
m (→‎{{header|Java}}: Make clearer by refactoring subtasks into methods)
Line 604:
=={{header|Java}}==
<lang java>import java.io.*;
import java.lang.StringBuilder;
 
public class StripBlockComments{
public static voidString mainreadFile(String[] argsfilename) {
BufferedReader reader = new BufferedReader(new FileReader(inputFilefilename));
if (args.length < 3) {
try {
System.out.println("Usage: BeginToken EndToken StringToProcess");
StringBuilder fileContents = new StringBuilder();
} else {
Stringchar[] beginTokenbuffer = argsnew char[04096];
while (reader.read(buffer, 0, 4096) > 0) {
String endToken = args[1];
fileContents.append(buffer);
String inputFile = args[2];
String input = "";
try {
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
StringBuilder fileContents = new StringBuilder();
char[] buffer = new char[4096];
while (reader.read(buffer, 0, 4096) > 0) {
fileContents.append(buffer);
}
input = fileContents.toString();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
input = return fileContents.toString();
StringBuilder output = new StringBuilder();
} elsefinally {
while (true) {
reader.close();
int begin = input.indexOf(beginToken);
}
int end = input.indexOf(endToken, begin+beginToken.length());
}
if (begin == -1) {
 
output.append(input);
public static String stripComments(String beginToken, String endToken,
break;
String input) = "";{
}
StringBuilder output = new StringBuilder();
output.append(input.substring(0, begin));
while (true) {
input = input.substring(end + endToken.length(), input.length());
int begin = input.indexOf(beginToken);
int end = input.indexOf(endToken, begin+beginToken.length());
if (begin == -1 || end == -1) {
output.append(input);
return output.toString();
}
Systemoutput.out.printlnappend(outputinput.toStringsubstring(0, begin));
input = input.substring(end + endToken.length(), input.length());
}
}
 
public static void main(String[] args) {
if (args.length < 3) {
System.out.println("Usage: BeginToken EndToken StringToProcessFileToProcess");
System.exit(1);
}
 
String begin = args[0];
String endTokenend = args[1];
String inputFileinput = args[2];
 
try {
System.out.println(stripComments(begin, end, readFile(input)));
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
Anonymous user