如何从右到左从文件中读取字符

时间:2016-03-02 19:29:19

标签: java

我正在开发一个程序,它使用由数组或链表实现的堆栈来评估lisp表达式。我需要从右到左从第一行读取文件。目前我正在从左到右阅读它,但我不明白如何切换它。非常感谢您给我的任何帮助!谢谢!

**我知道程序远未完成,我只需要在继续之前完成此任务。

import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.*;
import java.io.BufferedReader;


public class A2Q5{
    private static Scanner in;


    public static void main (String [] args)
    {
        if(args.length != 2) {
            System.out.println("Please execute as: java A2Q5 type infile");
        }

        BoundedStack<Double> stack;
        if(args[0].equals("0"))
            stack = new BSArray<Double>(20);
        else
            stack = new BSLinkedList<Double>();


        // The name of the file to open.
        String fileName = args[1];

        // This will reference one line at a time
        //char c = null;

        try {
            BufferedReader br = new BufferedReader(new FileReader(fileName));

            String line = null;

            while ((line = br.readLine()) != null) {
            System.out.println(line);

                for (int i = line.length() - 1; i >= 0; i--){
                    line.charAt(i);
                    System.out.println(line.charAt(i));
                }
            }

        }
        catch(FileNotFoundException ex) {
            System.out.println("Unable to open file " + fileName);                
        }
        catch(IOException ex) {
            System.out.println("Error reading file " + fileName);                 

        }

    }     
}

1 个答案:

答案 0 :(得分:1)

删除FileInputStream的使用并使用您已准备但从未使用过的BufferedReader。使用其方法readLine逐行读取文件中的信息。一旦你得到一条单独的行,你就可以逐字逐句地从字符串的末尾到它的开头迭代它。这正是你想要的。