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

How to use PrintStream to write to a text file without leaving any blank line between each row?

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

我试图在阅读功能中使用 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.");
    }

而写入文本文件的是这个。每行之间有空白 space。

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() 函数在这种情况下有效,但我认为这不是最有效的方法。

使用 p.print 而不是 p.println println 在您的示例中的打印后添加了一个 '[l]i[n]e'-break,尽管您只是 cna不要把“\n”放在末尾,这是 [n]新行

的字符串表示法