如何读取文本文件并将其 store/print 仅包含小写字母且没有空格发送到控制台?
How can I read a text file and store/print it to the console with only lowercase letters and no spaces?
我正在尝试接收一个文本文件 (UTF-8) 并 store/print 它具有以下限制(参见下面的示例):
- 只有字母,没有特殊字符 (a-z)
- 如果字母是大写,则转换为小写
- 字母之间没有空格或线条
我首先尝试使用扫描仪读取文件末尾。我将读取的字符串转换为 char 数组,但无法将其正确设置为小写(请参阅注释掉的代码)。我曾尝试使用 BufferedReader,但无法获得正确的更改。我尝试按字符读入并使用字符 class 设置小写限制(参见下面的代码)。
public static void OpenPlainText(File plainTextFile)
{
try
{
Scanner scanner = new Scanner(plainTextFile);
BufferedReader br = new BufferedReader(new InputStreamReader
(new FileInputStream (plainTextFile), Charset.forName("UTF-8")));
StorePlainText(scanner, br);
scanner.close();
br.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void StorePlainText(Scanner scanner, BufferedReader br) throws IOException
{
/*String str = "";
while (scanner.hasNext())
{
str += scanner.next();
}
str.toCharArray();
str.toLowerCase();
System.out.println(str);*/
int c;
while ((c = br.read()) != -1)
{
char character = (char) c;
if (Character.isLetter(character))
{
if (Character.isUpperCase(character))
{
Character.toLowerCase(character);
System.out.print(character);
}
}
}
}
例如。文本文件
计算机编程艺术,第 1 卷,第 1 册:MMIX -- 新千年的 RISC 计算机
这部关于算法分析的多卷本著作长期以来一直被认为是 class 计算机科学的权威描述。
例如。 Store/Print
artofcomputerprogrammingvolumefasciclethemmixarisccomputerforthenewmillenniumthismultivolumeworkontheanalysisofalgorithmshaslongbeenrecognizedasthedefinitivedescriptionofclassicalcomputerscience
Character.toLowerCase
returns 小写字符它不会转换你传入的字符。
while ((c = br.read()) != -1)
{
char character = (char) c;
if (Character.isLetter(character))
{
if (Character.isUpperCase(character))
{
character = Character.toLowerCase(character);
System.out.print(character);
}
}
}
我正在尝试接收一个文本文件 (UTF-8) 并 store/print 它具有以下限制(参见下面的示例):
- 只有字母,没有特殊字符 (a-z)
- 如果字母是大写,则转换为小写
- 字母之间没有空格或线条
我首先尝试使用扫描仪读取文件末尾。我将读取的字符串转换为 char 数组,但无法将其正确设置为小写(请参阅注释掉的代码)。我曾尝试使用 BufferedReader,但无法获得正确的更改。我尝试按字符读入并使用字符 class 设置小写限制(参见下面的代码)。
public static void OpenPlainText(File plainTextFile)
{
try
{
Scanner scanner = new Scanner(plainTextFile);
BufferedReader br = new BufferedReader(new InputStreamReader
(new FileInputStream (plainTextFile), Charset.forName("UTF-8")));
StorePlainText(scanner, br);
scanner.close();
br.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void StorePlainText(Scanner scanner, BufferedReader br) throws IOException
{
/*String str = "";
while (scanner.hasNext())
{
str += scanner.next();
}
str.toCharArray();
str.toLowerCase();
System.out.println(str);*/
int c;
while ((c = br.read()) != -1)
{
char character = (char) c;
if (Character.isLetter(character))
{
if (Character.isUpperCase(character))
{
Character.toLowerCase(character);
System.out.print(character);
}
}
}
}
例如。文本文件
计算机编程艺术,第 1 卷,第 1 册:MMIX -- 新千年的 RISC 计算机
这部关于算法分析的多卷本著作长期以来一直被认为是 class 计算机科学的权威描述。
例如。 Store/Print
artofcomputerprogrammingvolumefasciclethemmixarisccomputerforthenewmillenniumthismultivolumeworkontheanalysisofalgorithmshaslongbeenrecognizedasthedefinitivedescriptionofclassicalcomputerscience
Character.toLowerCase
returns 小写字符它不会转换你传入的字符。
while ((c = br.read()) != -1)
{
char character = (char) c;
if (Character.isLetter(character))
{
if (Character.isUpperCase(character))
{
character = Character.toLowerCase(character);
System.out.print(character);
}
}
}