【问题标题】:Java space at start of text file文本文件开头的 Java 空间
【发布时间】:2013-05-19 13:37:44
【问题描述】:

我有一个程序询问用户要打开什么应用程序, 这就是程序的工作原理:

  • 用户在“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");
    }
}

【问题讨论】:

标签: java space bufferedwriter


【解决方案1】:

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

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

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

否则你可以使用你已经在使用的,然后调用mega.trim()

【讨论】:

  • 如果它帮助您通过单击我的答案左侧的勾号来接受答案。欢迎使用 stackoverflow。
猜你喜欢
  • 1970-01-01
  • 2015-08-25
  • 2011-09-01
  • 2013-12-03
  • 1970-01-01
  • 2011-08-30
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
相关资源
最近更新 更多