Reading and displaying data from a .txt file

后端 未结 10 869
北海茫月
北海茫月 2020-11-27 15:41

How do you read and display data from .txt files?

相关标签:
10条回答
  • 2020-11-27 15:49

    To read lines from .txt file with encoding UTF-8:

    File krokiPath = new File("Records\Record");
    BufferedReader in = new BufferedReader(
            new InputStreamReader(new FileInputStream(krokiPath), "UTF8"));
    
    while((r = in.readLine()) != null) {
        System.out.println(r);
    }
    in.close();
    
    0 讨论(0)
  • 2020-11-27 15:50

    If your file is strictly text, I prefer to use the java.util.Scanner class.

    You can create a Scanner out of a file by:

    Scanner fileIn = new Scanner(new File(thePathToYourFile));
    

    Then, you can read text from the file using the methods:

    fileIn.nextLine(); // Reads one line from the file
    fileIn.next(); // Reads one word from the file
    

    And, you can check if there is any more text left with:

    fileIn.hasNext(); // Returns true if there is another word in the file
    fileIn.hasNextLine(); // Returns true if there is another line to read from the file
    

    Once you have read the text, and saved it into a String, you can print the string to the command line with:

    System.out.print(aString);
    System.out.println(aString);
    

    The posted link contains the full specification for the Scanner class. It will be helpful to assist you with what ever else you may want to do.

    0 讨论(0)
  • 2020-11-27 15:50

    If you want to take some shortcuts you can use Apache Commons IO:

    import org.apache.commons.io.FileUtils;
    
    String data = FileUtils.readFileToString(new File("..."), "UTF-8");
    System.out.println(data);
    

    :-)

    0 讨论(0)
  • 2020-11-27 15:51

    Below is the code that you may try to read a file and display in java using scanner class. Code will read the file name from user and print the data(Notepad VIM files).

    import java.io.*;
    import java.util.Scanner;
    import java.io.*;
    
    public class TestRead
    {
    public static void main(String[] input)
    {
        String fname;
        Scanner scan = new Scanner(System.in);
    
        /* enter filename with extension to open and read its content */
    
        System.out.print("Enter File Name to Open (with extension like file.txt) : ");
        fname = scan.nextLine();
    
        /* this will reference only one line at a time */
    
        String line = null;
        try
        {
            /* FileReader reads text files in the default encoding */
            FileReader fileReader = new FileReader(fname);
    
            /* always wrap the FileReader in BufferedReader */
            BufferedReader bufferedReader = new BufferedReader(fileReader);
    
            while((line = bufferedReader.readLine()) != null)
            {
                System.out.println(line);
            }
    
            /* always close the file after use */
            bufferedReader.close();
        }
        catch(IOException ex)
        {
            System.out.println("Error reading file named '" + fname + "'");
        }
    }
    

    }

    0 讨论(0)
  • 2020-11-27 15:51

    You most likely will want to use the FileInputStream class:

    int character;
    StringBuffer buffer = new StringBuffer("");
    FileInputStream inputStream = new FileInputStream(new File("/home/jessy/file.txt"));
    
    while( (character = inputStream.read()) != -1)
            buffer.append((char) character);
    
    inputStream.close();
    System.out.println(buffer);
    

    You will also want to catch some of the exceptions thrown by the read() method and FileInputStream constructor, but those are implementation details specific to your project.

    0 讨论(0)
  • 2020-11-27 15:54
    BufferedReader in = new BufferedReader(new FileReader("<Filename>"));
    

    Then, you can use in.readLine(); to read a single line at a time. To read until the end, write a while loop as such:

    String line;
    while((line = in.readLine()) != null)
    {
        System.out.println(line);
    }
    in.close();
    
    0 讨论(0)
提交回复
热议问题