繁体   English   中英

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

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

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

我尝试在我的阅读功能中使用 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() 函数在这种情况下有效,但我认为这不是最有效的方法。

使用p.print而不是p.println println在您的示例中的打印后添加了一个 '[l]i[n]e'-break 虽然您 cna 只是没有在末尾放置“\\n”,这是字符串表示法[n] 新行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM