如何使用 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]新行
的字符串表示法
我正在为我的学校家庭作业做一个 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]新行