文本文件开头的Java空间

时间:2013-05-19 13:37:44

标签: java space bufferedwriter

我有一个程序询问用户要打开哪个应用程序, 这是程序的工作方式:

  • 用户在“inputDialog”示例中编写要打开的应用程序,用户编写“打开应用程序记事本”。
  • 程序在文本文件中查找“application”一词,以便程序确定它是用户想要打开的应用程序。
  • “打开的应用程序”句子和应用程序名称都存储在文本文件中。
  • 然后程序从文本文件中删除“打开应用程序”,然后只显示应用程序名称。
  • 但是应用程序名称前面总是有一个空格。请帮我删除申请名称前面的空格!!

这是我的代码:

package Test_Code;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import javax.swing.JOptionPane;

public class New_Loader_3 {
    public static void main(String[]args) throws IOException{
        String Test = JOptionPane.showInputDialog("Test");
        BufferedWriter writer = new BufferedWriter(new FileWriter("/Applications/Userdata/tmp/Application.txt"));
         writer.write(Test);
         writer.close();
          int tokencount;
           FileReader fr=new FileReader("/Applications/Userdata/tmp/Application.txt");
           BufferedReader br=new BufferedReader(fr);
           String s1;
           int linecount=0;
           String line;
           String words[]=new String[500];
                                        while ((s1=br.readLine())!=null)
                                                {
                                                linecount++;
                                                int indexfound=s1.indexOf("application");
                                                                             if (indexfound>-1)
                                                                             {
                                                                                FileInputStream fstream1121221 = new FileInputStream("/Applications/Userdata/tmp/Application.txt");
                                                                                  DataInputStream in1121211 = new DataInputStream(fstream1121221);
                                                                                  BufferedReader br1112211 = new BufferedReader(new InputStreamReader(in1121211));
                                                                                  String Name12122131;
                                                                                  while ((Name12122131 = br1112211.readLine()) != null)   {
                                                                                    if (Name12122131.startsWith(" "))   
                                                                                    {  
                                                                                        System.out.println("Name12122131");
                                                                                    }
                                                                                  }
        String mega = Test.replaceAll("Open application",""); 
        System.out.println(mega);
        BufferedWriter Update_Catch = new BufferedWriter(new FileWriter("/Applications/Userdata/tmp/Application.txt"));
         Update_Catch.write(mega);
         Update_Catch.close();
                                                                             }
                                                }
        System.out.println("Done");
    }
}

1 个答案:

答案 0 :(得分:0)

这是因为用户输入了Open<space>application<space>Notepad。现在当您替换Open<space>Applicaton时,Notepad之前的空格仍然存在。所以我只是用它来代替:

String mega = Test.replaceAll("Open application ","");

<space>末尾添加Open<space>Application也会替换空间。现在mega将是Notepad

否则您可以使用已经使用的内容,然后拨打mega.trim()