Android 合并名字和姓氏

Android 合并名字和姓氏,android,string,listview,Android,String,Listview,在这里,我逐字阅读文件,并用这些字操作列表视图。这里的问题是名字和姓氏出现在不同的行中。e、 g.Name=johnclerk然后我得到列表视图第一行的John和第二行的Clerk。对于其他数据,它们必须是单行,以此类推。我应该做什么更改才能正常工作?我的代码 String myData = ""; String strLine; String listName = "" ; FileOutputStream fos; FileInputStream fstream; DataInputStre

在这里,我逐字阅读文件,并用这些字操作列表视图。这里的问题是名字和姓氏出现在不同的行中。e、 g.Name=johnclerk然后我得到列表视图第一行的John和第二行的Clerk。对于其他数据,它们必须是单行,以此类推。我应该做什么更改才能正常工作?我的代码

String myData = "";
String strLine;
String listName = "" ;
FileOutputStream fos;
FileInputStream fstream;
DataInputStream in;
String[] SavedFiles;
BufferedReader br;


public void readFile(String file) throws IOException
    {

        fstream = openFileInput(file);
        Scanner scanFile = new Scanner(new DataInputStream(fstream));
        ArrayList<String> words = new ArrayList<String>();


        String theWord, theWord1, theWord2;     
        while (scanFile.hasNext())
        {
            theWord = scanFile.next();
            words.add(theWord);

        }
        Toast.makeText(getBaseContext(), "" + size, 1000).show();


        adapterFriends = new ArrayAdapter<String>(getBaseContext(), R.layout.text, words);
        lvFinal.setAdapter(adapterFriends);
        adapterFriends.notifyDataSetChanged();

        }

尝试使用nextLine而不是next,因为它应该返回\n个字符之间的每个字符串


希望这对我有所帮助如果我正确理解了您的需求,请尝试以下方法:

while (scanFile.hasNext())
{
   String name = scanFile.next();
   if (scanFile.hasNext())
   {
      name = String.format("%s %s", name, scanFile.next());
   } 

   words.add(name);    
}   

@Adrian…没有得到我想要的输出…相反,所有字符串都在一行中显示…意味着如果文件有两个名称,名称1=John Clerk和名称2=Steve Rich,然后在列表视图的一行中,他们显示为John Clerk Steve Rich…你没有回答这个问题-OP询问如何控制adapterFriends显示的文本中换行符的位置-它与读取输入无关。@alfasin我认为它与读取输入有很大关系。我的意思是,如果输入是在单独的行中,我的答案是正确的;由于我们没有任何关于文件结构的进一步信息,我的答案可能是正确的。回到主题上来,你能给我们更多关于你的文件结构的细节吗?您可以控制它吗?在我的文件中,我正在从Listview保存数据。表示有一个具有某些名称的列表视图。当用户选择这些名称时,它们应该保存在文件中。当我读取该文件时,数据应该再次出现在第二个列表视图中。@AdriánRodríguez是正确的。问题在于不了解ArrayAdapter是如何工作的。ArrayList中的每个项都将是其自己的行。因此,要正确执行所需操作,数据需要以不同的格式进入ArrayList。可能的重复将要解决。让我告诉你,我在这里得到了什么。name1=John Clerk和name2=Steve Rich,我排在第一排John Clerk Steve,第二排只有Rich……你能从你阅读的地方把你文件的前3-4行打印出来吗?我想您的文件格式不正确。请将您的写操作发布到文件方法。我想问题就出在那里了。public void writeToFileArrayList datawrite,String file抛出IOException{try{fos=openFileOutputfile,Context.MODE\u PRIVATE;forint temp=0;temp