-
-
Save canwe/6e7b2d2f114c456514c594dbfed505e2 to your computer and use it in GitHub Desktop.
quiz.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Please review the class below and suggest improvements. How would | |
* you refactor this class if it would be in a real-life project? | |
* There are many problems here, both high-level design mistakes, | |
* and low-level implementation bugs. We're interested to see high-level | |
* problems first, since they are most critical. The more mistakes | |
* you can spot, the better programmer you are. | |
*/ | |
/** | |
* This class is thread safe. | |
*/ | |
public class Parser { | |
private File file; | |
public synchronized void setFile(File f) { | |
file = f; | |
} | |
public synchronized File getFile() { | |
return file; | |
} | |
public String getContent() throws IOException { | |
InputStream i = new FileInputStream(file); | |
String output = ""; | |
int data; | |
while ((data = i.read()) > 0) { | |
output += (char) data; | |
} | |
return output; | |
} | |
public String getContentWithoutUnicode() throws IOException { | |
InputStream i = new FileInputStream(file); | |
String output = ""; | |
int data; | |
while ((data = i.read()) > 0) { | |
if (data < 0x80) { | |
output += (char) data; | |
} | |
} | |
return output; | |
} | |
public void saveContent(String content) throws IOException { | |
OutputStream o = new FileOutputStream(file); | |
for (int i = 0; i < content.length(); i += 1) { | |
o.write(content.charAt(i)); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment