我正在尝试读取目录中的每个文件,使用java util.locale进行清理,然后写入新目录。读写方法有效,Locale.SPANISH可能是我在其他帖子中所读到的问题。
我遍历了java.util.locale中的可用语言,西班牙语在那里。
首先,出现数组问题:以下代码摘录是将Locale。(LANGUAGE)输入数组的很长的路要走。这似乎很好。但是,我不明白为什么“短”方法似乎不起作用。
String[] languageLocale = new String[fileArray.length];
languageLocale[0] = "Locale.ENGLISH";
languageLocale[1] = "Locale.FRENCH";
languageLocale[2] = "Locale.GERMAN";
languageLocale[3] = "Locale.ITALIAN";
languageLocale[4] = "Locale.SPANISH";
简而言之:
String[] languageLocale = new String[("Locale.ENGLISH" , "Locale.FRENCH" , "Locale.GERMAN" , "Locale.ITALIAN" , "Locale.SPANISH")];
我需要将Locale。(langauge)输入一个字符串,以便可以在以下方式中调用它们:
File file = new File("\\LanguageGuessing5.0\\Learning\\");
File[] fileArray = file.listFiles();
ArrayList<String> words = new ArrayList<String>();
for (int i = 0; i < fileArray.length; i++) {
if (fileArray[i].isFile()) {
if (fileArray[i].isHidden()) {
continue;
} else {
String content = readUTF8File("\\LanguageGuessing5.0\\Learning\\"+fileArray[i].getName());
words = extractWords(content, languageLocale[i]);
outputWordsToUTF8File("\\LanguageGuessing5.0\\Model\\"+ fileArray[i].getName() + "out.txt", words);
}
} else if (fileArray[i].isDirectory()) {
System.out.println("Directory " + fileArray[i].getName());
}
}
以下方法调用: 单词= extractWords(content,languageLocale [i]); 还出现以下错误:
CleaningText(类名)类型的方法extractWords(String,Locale)不适用于参数(String,String)
我的理解是,虽然array参数不是语言环境,但字符串包含正确的文本以使其有效。我显然不正确,我希望有人可以解释它的工作原理。
有关上下文的方法输入类型如下:
public static String readUTF8File(String filePath)
public static ArrayList extractWords(String inputText, Locale currentLocale)
public static void outputWordsToUTF8File(String filePath, ArrayList wordList)
非常感谢