java - java中读取特定文本行中的特定字符

标签 java

我正在开发一个程序,该程序涉及我必须搜索 .txt 文件中的特定行并将其中的字符串转换为其他内容。

例如,字符串实际上是由数字组成的,我想我可以将其转换为整数。最主要的是,例如第2行,存储了5位邮政编码。我需要根据数字将其转换为某些输出。换句话说,我需要数字 0-9 的变量,并根据每个数字输出特定的输出。

现在这是我必须提示用户输入文件中存储的信息的代码,并且可以读取和打印刚刚键入的所有信息,但我不确定如何处理其余的事情。

import java.io.*;
import java.util.*;
import java.io.FileReader;
import java.io.IOException;

public class ObjectTest2 {
public static void main(String [] args) throws FileNotFoundException, IOException {

    // The name of the file to open.
    String fileName = "information.txt";
    Scanner myScanner = new Scanner(System.in);

    try {
        // Assume default encoding.
        FileWriter fileWriter =
            new FileWriter(fileName);

        // Always wrap FileWriter in BufferedWriter.
        BufferedWriter bufferedWriter =
            new BufferedWriter(fileWriter);            
        // append a newline character.
        //This shit here prompts the user for information and stores it in seperate lines to be
        //called on by the later section.
        System.out.print("What is your name? ");
        bufferedWriter.write(myScanner.nextLine());
        bufferedWriter.newLine();
        System.out.print("What is your 5 digit zip code?");
        bufferedWriter.write(myScanner.nextLine());
        bufferedWriter.newLine();
        System.out.print("What is your +4 digit zip? ");
        bufferedWriter.write(myScanner.nextLine());
        bufferedWriter.newLine();
        System.out.print("What is your address? ");
        bufferedWriter.write(myScanner.nextLine());

        // Always close files.
        bufferedWriter.close();

        //reads the information file and prints what is typed
        BufferedReader reader = new BufferedReader(new FileReader("information.txt")); {
            while (true) {
                String line = reader.readLine();
                if (line == null) {
                    break;
                }
                System.out.println(line);
            }
        }           
    }
    catch(IOException ex) {
        System.out.println(
            "Error writing to file '"
            + fileName + "'");
        // Or we could just do this:
        // ex.printStackTrace();
    }
}
}

最佳答案

您别无选择,只能迭代文件的每一行并搜索字符串。如果您想根据行号从文件中获取一行字符串,请考虑创建一个方法。如果需要对同一个文件进行多次操作,并且文件内容没有变化,可以使用map根据行号来缓存文件内容。

关于java - java中读取特定文本行中的特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34003459/

相关文章:

java - 实体生成器

java - 如何从 .erb 文件中的函数调用中提取函数名称?

java - 库中的 Hibernate 配置

java - Java 8 中使用非静态方法的 lambda

java - 删除 Java 中两个或多个连续数字之间的空格?

java - 如何使用java在Cassandra 3.0中的集合文字内绑定(bind)变量?

java - Java 泛型的乐趣

java - 创建对象的数学运算符?

Java 不会打印 txt 文件中的每个元素

java - JPA native 查询 "select into outfile"