aboutsummaryrefslogtreecommitdiffstats
path: root/lint/cli/src/com/android/tools/lint/Main.java
diff options
context:
space:
mode:
Diffstat (limited to 'lint/cli/src/com/android/tools/lint/Main.java')
-rw-r--r--lint/cli/src/com/android/tools/lint/Main.java35
1 files changed, 11 insertions, 24 deletions
diff --git a/lint/cli/src/com/android/tools/lint/Main.java b/lint/cli/src/com/android/tools/lint/Main.java
index 489ac81..e37f9c4 100644
--- a/lint/cli/src/com/android/tools/lint/Main.java
+++ b/lint/cli/src/com/android/tools/lint/Main.java
@@ -34,10 +34,11 @@ import com.android.tools.lint.detector.api.Location;
import com.android.tools.lint.detector.api.Position;
import com.android.tools.lint.detector.api.Project;
import com.android.tools.lint.detector.api.Severity;
+import com.android.util.PositionXmlParser;
+import com.google.common.base.Charsets;
+import com.google.common.io.Files;
-import java.io.BufferedReader;
import java.io.File;
-import java.io.FileReader;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
@@ -661,7 +662,7 @@ public class Main extends LintClient {
@Override
public IDomParser getDomParser() {
- return new PositionXmlParser();
+ return new LintCliXmlParser();
}
@Override
@@ -790,31 +791,17 @@ public class Main extends LintClient {
@Override
public String readFile(File file) {
- BufferedReader reader = null;
try {
- reader = new BufferedReader(new FileReader(file));
- StringBuilder sb = new StringBuilder((int) file.length());
- while (true) {
- int c = reader.read();
- if (c == -1) {
- return sb.toString();
- } else {
- sb.append((char)c);
- }
+ // For XML files, apply special logic to pick up encoding information within the file
+ if (endsWith(file.getName(), DOT_XML)) {
+ byte[] data = Files.toByteArray(file);
+ return PositionXmlParser.getXmlString(data);
}
+
+ return Files.toString(file, Charsets.UTF_8);
} catch (IOException e) {
- // pass -- ignore files we can't read
- } finally {
- try {
- if (reader != null) {
- reader.close();
- }
- } catch (IOException e) {
- log(e, null);
- }
+ return ""; //$NON-NLS-1$
}
-
- return ""; //$NON-NLS-1$
}
/**