java - 如何在不读取 # 个字符的情况下读取文本文件

标签 java

我想读取给定的文本文件,并且在文本文件中,它包含 # 字符来分隔山名、国家/地区和海拔。我只想读取除 # 字符之外的所有内容。例如:

A-1 Peak#United States#12377 <-- from the text file
A-1 Peak United States 12377 <-- read in only

我知道我必须使用字符串分割方法,但我不确定我这样做是否正确。

private List<String> readFile(String fileName)
    {
        List<String> records = new ArrayList<String>();

        try
        {
            BufferedReader reader = new BufferedReader(new FileReader(fileName));
            String line;
            while ((line = reader.readLine()) != null)
            {

            String[] parts = line.split("#");
            String part1 = parts[0]; 
            String part2 = parts[1]; 
            String part3 = parts[2];
                records.add(line);
            }
            reader.close();
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }

        return records;
    }

最佳答案

使用下面的代码。

while ((line = reader.readLine()) != null){
      line  = line.replaceAll("#"," "); 
      records.add(line);
}

关于java - 如何在不读取 # 个字符的情况下读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43478573/

相关文章:

java - 为什么必须在 if 语句中定义扫描仪?

java - 在java中同时读取和写入同一个文件

java - 在 Gradle 和 Maven 之间共享模块

java - 从包外的子类访问 protected 变量

java - Android Studio 返回到初始屏幕

java - @autowired on Spring 中的方法

java - 如何从whatsapp获取pdf文件数据到我的android应用程序?

java - 简单日期格式化程序中的月份始终返回 JANUARY

java - Java 的反射如何影响其内存占用?

java - spring 在单元测试中是否使用 application.properties?