【发布时间】:2019-09-10 11:46:30
【问题描述】:
尝试读取文本文件并将内容添加到数组列表,而不是写入新的文本文件,但它与原始文件的格式不同。 我希望它与原始文件的格式相同。
public static void main(String args[]) throws IOException
{
Scanner sc1 = new Scanner(new File("C:\\Users\\amank\\eclipse-workspace\\DataStructures\\src\\sample1-pp.txt"));
ArrayList<String> list = new ArrayList<String>();
//testing
FileWriter writer = new FileWriter ("C:\\Users\\amank\\eclipse-workspace\\DataStructures\\src\\output.txt");;
if(!sc1.hasNext())
{
System.out.println("File is empty");
}
try {
while (sc1.hasNext())
{
list.add(sc1.nextLine().trim().toLowerCase().replaceAll("\\p{P}", ""));
}
sc1.close();
//for testing
for(String str: list)
{
writer.write(str);
}
writer.close();
预期
傲慢与偏见
简·奥斯汀
第一章
一个人人都知道的道理,有钱的单身汉,一定要娶个老婆。
======
实际
傲慢与偏见by jane austenchapter 1这是一个普遍公认的真理,一个拥有好运气的单身男人必须想要一个妻子
【问题讨论】:
-
所以您正在转换为小写字母并剥离字符,并且想知道为什么要这样写?或者您想知道为什么您跳过了
nextLine文档中说行分隔符不包含在字符串中的部分?还是什么? -
你可能想使用:
writer.write(str + "\n"); -
您的问题显然与
toLowerCase()和trim()的存在有关,正如函数名称所暗示的那样,它们会将字符转换为小写并修剪掉多余的空格。 -
我正在阅读我在“预期”中提到的文件,我想删除所有标点符号、整数并将所有大写字母转换为小写字母,并以与原始文件。
标签: java arraylist filewriter file-read