如何将字符串拆分为数组

How do I split a string into an array

我正在尝试拆分由 FileReaderBufferedReader 读取的字符串的每一行。我在 String [] x = Login.Split("");

收到语法错误

String可以用什么方法拆分?我将添加一种方法来查看字符串是否与另一个输入匹配,但现在我需要弄清楚如何拆分字符串并仍然将每一行分开。
(我正在尝试寻找另一种方法因为我有 java 8 并且不能使用 sql 并且 ucanaccess 似乎也没有帮助,所以进行登录)我也尝试使用定界符,但找不到一个很好的适用示例。

private void SubmitActionPerformed(java.awt.event.ActionEvent evt) {      
    try {
        FileReader FR = new FileReader("Login.txt");
        BufferedReader Login = new BufferedReader(FR);
        StringBuilder sb= new StringBuilder();

        String str;
        String [] x = Login.Split("");
        while ((str = Login.readLine()) !=null ) { 
            sb.append(str);
            sb.append("\n");
        }
        Login.close();
        FR.close();

        System.out.println(sb.toString());
        Scanner read = new Scanner(Login);

        } catch (Exception ex) {
            System.out.println("exception 2, " );
            ex.printStackTrace();
        }
    }  

根据您的新评论

String str;
while ((str = Login.readLine()) !=null ) { 

    String [] x = str.Split(" ");

    // ?? new method to scan string array
    scanThis (x);
    sb.append(str);
    sb.append("\n");

}

void scanThis (String arr[]) 
{
  for (int x = ; x < arr.length; x++) {
  {
      if (arr[x].equals ("login")) {
          System.out.println ("Hurray");
          break;
      }
   } 
}     

I am getting a syntax error at String [] x = Login.Split("");

不,你不是,你正在读取类似 'no such method' 的编译器错误。这不是语法错误。

Login(愚蠢的名字)是一个 BufferedReader,而 BufferedReader 没有 Split() 方法。 String 另一方面 有一个 split() 方法(注意大小写)。想必这就是您要找的。

但是拆分一个空字符串不会完成任何有用的事情。

我不清楚你想要什么?

A​​:您想将 reader 中的单独行放入数组中吗?据我所知,readline() 方法已经读取了一行文本。

B 如果您想拆分行中的单词,那么您可以尝试使用这个:String[] x = Login.trim().split("//s"); //正则表达式将在单词之间占多个 space 并且 trim() 将在行的开头和结尾剪切 spaces(如果有的话)。

但我可以看到,在尝试拆分数组中的单词之前,您没有将一行读入 reader。所以它试图拆分其中没有任何数据的东西。

请注意,我刚从 Java 开始,但我希望这对您有所帮助。