如何使用PrintStream写入文本文件而不在每行之间留下任何空行?

我正在为我的学校家庭作业做一个电话簿项目。我所要做的就是将每个人的信息存储到一个文本文件中,并在每次程序运行时读取它。但是,每次它将信息存储到文本文件中时,它都会在每行之间留下一个空白行。这会导致程序在我需要它从文本文件中读取信息之间读取空白行。这会导致我的代码中出现错误。


我试图在我的阅读函数中使用 trim() 来跳过空行。


        while((currentLine= reader.readLine()) != null){

            String emptySpace = currentLine.trim();

            if(!emptySpace.equals("")) {

                ...

                ...

            }

这是我的存储功能


    public static void storePhoneBook (String FileName, Entry[] entryList, int totalEntry) throws Exception{

        PrintStream P = new PrintStream(FileName);

        for (int i=0; i < totalEntry; i++) {

            P.println(entryList[i].name + "\t" +

                    entryList [i].number + "\t" +

                    entryList [i].notes + "\n");

        }

        P.close();

        System.out.println("Phone book stored.");

    }


写入文本文件的是这样的。它们在每行之间都有空格。


Bill    419-536-1234     Bill Gates


JB  510-0114    Charlie's place


Jones   413-257-1234    Karen and Jason


wm  419-257-1234    Walmart


我可以写入文件而不在每行之间留下任何空白行吗?trim()函数在这种情况下工作,但我不认为这是最有效的方法。


汪汪一只猫
浏览 71回答 1
1回答

芜湖不芜

使用而不是在你的示例中的打印后添加一个'[l]i[n]e'-break,尽管你不能把“\n”放在末尾,这是[n]ew行的字符串表示法p.printp.printlnprintln
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java