从Java文本文件中读取方法

从Java文本文件中读取方法,java,text-files,Java,Text Files,我正在做一项作业,想知道如何读取文本文件中带有参数的方法。例如,在我的赋值中,addFirst方法后面将有一个字符串(addFirst New York)。此外,addFirst方法名称可能全部为小写。我一直在网上寻找,这是我已经做过的: import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; public class Assignment2 { st

我正在做一项作业,想知道如何读取文本文件中带有参数的方法。例如,在我的赋值中,addFirst方法后面将有一个字符串(addFirst New York)。此外,addFirst方法名称可能全部为小写。我一直在网上寻找,这是我已经做过的:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class Assignment2 {

  static DequeUsingStacks<String> deq = new DequeUsingStacks<String>();

  public static void main(String[] args) {

    try{    
        FileInputStream fstream = new FileInputStream("Assignment2.txt");   
        BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
        String m;

        while((m = br.readLine()) != null){

                if(m.equalsIgnoreCase("size"))
                    System.out.println(deq.size());

                if(m.equalsIgnoreCase("addFirst")) /*I want to be able to 
                                                     use the string after 
                                                     the method as the new 
                                                     Value. So new 
                                                     Value should equal to 
                                                    "New York"*/

                deq.addFirst(new value);

        }

        fstream.close();    
导入java.io.BufferedReader;
导入java.io.FileInputStream;
导入java.io.InputStreamReader;
公共课堂作业2{
静态DequeUsingStacks deq=新的DequeUsingStacks();
公共静态void main(字符串[]args){
试试{
FileInputStream fstream=新的FileInputStream(“Assignment2.txt”);
BufferedReader br=新的BufferedReader(新的InputStreamReader(fstream));
字符串m;
而((m=br.readLine())!=null){
if(m.equalsIgnoreCase(“尺寸”))
System.out.println(deq.size());
如果(m.equalsIgnoreCase(“addFirst”)/*我希望能够
使用后面的字符串
新方法
价值,太新了
值应等于
“纽约”*/
deq.addFirst(新值);
}
fstream.close();
DequeUsingStacks是另一个包含所有方法的类。我想我只是想知道如何读取包含多个字符串的文本文件中的一行。“New Value”是在文本文件中方法之后声明的字符串。例如,(addFirst New York),字符串“New York”应该是“New Value”.我认为应该将行读取放入数组中。但我不确定如何执行该操作。

我想您可以试试

if(m.contains("addFirst")) { 

  String[] words = m.split("addFirst"); // In this case assume that do not have any others sentences after word "New York"
String result = words.get(0);

deq.addFirst(result);

}
嗯,有一个办法

   if ( m.toLowerCase().indexOf("addFirst".toLowerCase()) != -1 ) {
        deq.addFirst(m.replaceAll("addFirst".toLowerCase(), "").trim());
        }

将你的方法名分配给一个字符串,并使用它进行检查,而不是硬编码为“addFirst”。

也许你应该尝试向分配给你的人寻求帮助…?如果你知道方法名,你可以试试这个…(m.contains(“addFirst”){deq.addFirst(m.replaceAll(“addFirst”,”).trim();}现在你不可能理解你所问的内容,因为你省略了太多的上下文。什么是“代码”?DEQ < /代码>?你所说的新的值是什么?你所显示的代码远远不能被编译。请考虑写一篇文章并把它澄清。嗨,java,谢谢你的帮助。我忘了提到这个方法。名称可能不完全是addFirst,它可能是所有小写字母。这就是我使用.equalsIgnoreCase()的原因。我喜欢使用replaceAll()的想法,但参数必须完全是“addFirst”吗“为了让它工作?谢谢。对不起,吉姆,我是这个网站的新手,所以我不完全了解所有的工作原理。我将尽我所能更新代码。非常感谢。我正在寻找equalsIgnoreCase()的其他方法,只发现了.toLowerCase()。这非常有用。”。