-//##header\r
-//#if defined(FOUNDATION10) || defined(J2SE13)\r
-//#else\r
-/*\r
- *******************************************************************************\r
- * Copyright (C) 2002-2009, International Business Machines Corporation and *\r
- * others. All Rights Reserved. *\r
- *******************************************************************************\r
- */\r
-package com.ibm.icu.dev.test.util;\r
-\r
-import java.io.BufferedReader;\r
-\r
-import java.io.IOException;\r
-import java.io.PrintWriter;\r
-import java.util.Locale;\r
-\r
-public class FileUtilities {\r
- public static void appendFile(String filename, String encoding, PrintWriter output) throws IOException {\r
- appendFile(filename, encoding, output, null);\r
- }\r
- \r
- public static void appendFile(String filename, String encoding, PrintWriter output, String[] replacementList) throws IOException {\r
- BufferedReader br = BagFormatter.openReader("", filename, encoding);\r
- /*\r
- FileInputStream fis = new FileInputStream(filename);\r
- InputStreamReader isr = (encoding == UTF8_UNIX || encoding == UTF8_WINDOWS) ? new InputStreamReader(fis, "UTF8") : new InputStreamReader(fis);\r
- BufferedReader br = new BufferedReader(isr, 32*1024);\r
- */\r
- appendBufferedReader(br, output, replacementList);\r
- }\r
-\r
- public static void appendBufferedReader(BufferedReader br,\r
- PrintWriter output, String[] replacementList) throws IOException {\r
- while (true) {\r
- String line = br.readLine();\r
- if (line == null) break;\r
- if (replacementList != null) {\r
- for (int i = 0; i < replacementList.length; i += 2) {\r
- line = replace(line, replacementList[i], replacementList[i+1]);\r
- }\r
- }\r
- output.println(line);\r
- }\r
- br.close();\r
- }\r
-\r
- /**\r
- * Replaces all occurances of piece with replacement, and returns new String\r
- */\r
- public static String replace(String source, String piece, String replacement) {\r
- if (source == null || source.length() < piece.length()) return source;\r
- int pos = 0;\r
- while (true) {\r
- pos = source.indexOf(piece, pos);\r
- if (pos < 0) return source;\r
- source = source.substring(0,pos) + replacement + source.substring(pos + piece.length());\r
- pos += replacement.length();\r
- }\r
- }\r
- \r
- public static String replace(String source, String[][] replacements) {\r
- return replace(source, replacements, replacements.length);\r
- } \r
- \r
- public static String replace(String source, String[][] replacements, int count) {\r
- for (int i = 0; i < count; ++i) {\r
- source = replace(source, replacements[i][0], replacements[i][1]);\r
- }\r
- return source;\r
- } \r
- \r
- public static String replace(String source, String[][] replacements, boolean reverse) {\r
- if (!reverse) return replace(source, replacements);\r
- for (int i = 0; i < replacements.length; ++i) {\r
- source = replace(source, replacements[i][1], replacements[i][0]);\r
- }\r
- return source;\r
- }\r
- \r
- public static String anchorize(String source) {\r
- String result = source.toLowerCase(Locale.ENGLISH).replaceAll("[^\\p{L}\\p{N}]+", "_");\r
- if (result.endsWith("_")) result = result.substring(0,result.length()-1);\r
- if (result.startsWith("_")) result = result.substring(1);\r
- return result;\r
- }\r
-}\r
-//#endif\r
+//##header J2SE15
+//#if defined(FOUNDATION10) || defined(J2SE13)
+//#else
+/*
+ *******************************************************************************
+ * Copyright (C) 2002-2009, International Business Machines Corporation and *
+ * others. All Rights Reserved. *
+ *******************************************************************************
+ */
+package com.ibm.icu.dev.test.util;
+
+import java.io.BufferedReader;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Locale;
+
+public class FileUtilities {
+ public static void appendFile(String filename, String encoding, PrintWriter output) throws IOException {
+ appendFile(filename, encoding, output, null);
+ }
+
+ public static void appendFile(String filename, String encoding, PrintWriter output, String[] replacementList) throws IOException {
+ BufferedReader br = BagFormatter.openReader("", filename, encoding);
+ /*
+ FileInputStream fis = new FileInputStream(filename);
+ InputStreamReader isr = (encoding == UTF8_UNIX || encoding == UTF8_WINDOWS) ? new InputStreamReader(fis, "UTF8") : new InputStreamReader(fis);
+ BufferedReader br = new BufferedReader(isr, 32*1024);
+ */
+ appendBufferedReader(br, output, replacementList);
+ }
+
+ public static void appendBufferedReader(BufferedReader br,
+ PrintWriter output, String[] replacementList) throws IOException {
+ while (true) {
+ String line = br.readLine();
+ if (line == null) break;
+ if (replacementList != null) {
+ for (int i = 0; i < replacementList.length; i += 2) {
+ line = replace(line, replacementList[i], replacementList[i+1]);
+ }
+ }
+ output.println(line);
+ }
+ br.close();
+ }
+
+ /**
+ * Replaces all occurances of piece with replacement, and returns new String
+ */
+ public static String replace(String source, String piece, String replacement) {
+ if (source == null || source.length() < piece.length()) return source;
+ int pos = 0;
+ while (true) {
+ pos = source.indexOf(piece, pos);
+ if (pos < 0) return source;
+ source = source.substring(0,pos) + replacement + source.substring(pos + piece.length());
+ pos += replacement.length();
+ }
+ }
+
+ public static String replace(String source, String[][] replacements) {
+ return replace(source, replacements, replacements.length);
+ }
+
+ public static String replace(String source, String[][] replacements, int count) {
+ for (int i = 0; i < count; ++i) {
+ source = replace(source, replacements[i][0], replacements[i][1]);
+ }
+ return source;
+ }
+
+ public static String replace(String source, String[][] replacements, boolean reverse) {
+ if (!reverse) return replace(source, replacements);
+ for (int i = 0; i < replacements.length; ++i) {
+ source = replace(source, replacements[i][1], replacements[i][0]);
+ }
+ return source;
+ }
+
+ public static String anchorize(String source) {
+ String result = source.toLowerCase(Locale.ENGLISH).replaceAll("[^\\p{L}\\p{N}]+", "_");
+ if (result.endsWith("_")) result = result.substring(0,result.length()-1);
+ if (result.startsWith("_")) result = result.substring(1);
+ return result;
+ }
+}
+//#endif