2013-05-19 84 views
-1

我有一個程序,要求用戶提供什麼樣的應用也想開了, 這是程序的工作原理:Java領域

  • 用戶寫要打開哪個應用程序用戶編寫「打開應用程序記事本」的「inputDialog」示例。
  • 該程序在文本文件中查找單詞「應用程序」,因此程序確信它是用戶想要打開的應用程序。
  • 「打開的應用程序」句子和應用程序名稱都存儲在文本文件中。
  • 然後程序從文本文件中刪除「打開應用程序」,然後只顯示應用程序名稱。
  • 但是應用程序名稱前面總是有一個空格。請幫我刪除應用程序名稱的空間!

這裏是我的代碼:

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"); 
    } 
} 
+0

所以[String.trim](http://docs.oracle.com/javase/7/docs/api/java/lang/ String.html#trim())不適合你? – home

回答

0

這是因爲用戶在Open<space>application<space>Notepad。現在,當您替換Open<space>Applicaton時,Notepad之前的空格仍然保留。所以,我只是你用這個來代替:

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

Open<space>Application末添加<space>更換空間太大。所以現在mega將是Notepad

否則,你可以使用你已經在使用,然後調用mega.trim()

+0

謝謝!!!!!!!!! :) – user1886564

+0

如果它幫助你通過點擊答案左側的刻度線來接受答案。歡迎來到stackoverflow。 –