【发布时间】:2015-09-26 14:30:40
【问题描述】:
作为我的Previous Question,我使用来自java.io.FileInputStream 和read(); 的read() 在同一行中提供输出,而不会终止行。之后,我使用来自java.io.BufferedReader 的readLine() 并在不同行中获得输出,行终止。我探索了readLine() 方法,我从Java API Docs 得到了这条线
读取一行文本。一条线被认为被任何人终止 换行符 ('\n')、回车符 ('\r') 或回车符 紧接着是换行符。
在阅读了 Java Docs 的上述引用之后,我修改了我的 read(); 方法程序以终止没有 readLine() 方法的行。但是失败了,
这是修改后的代码。(我想用于行终止)
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class BoxDemo {
public static void main(String[] args) throws IOException {
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("xanadu.txt");
out = new FileOutputStream("outagain.txt");
int c;
while ((c = in.read()) != -1) {
if((char)c=='\r' || (char)c=='\n') {
out.write('\n');
} else {
out.write(c);
}
}
} finally {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
}
}
}
这里是 readLine(); 方法代码,它给出了行终止的输出。
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.IOException;
public class BoxDemo {
public static void main(String[] args) throws IOException {
BufferedReader inputStream = null;
PrintWriter outputStream = null;
try {
inputStream = new BufferedReader(new FileReader("xanadu.txt"));
outputStream = new PrintWriter(new FileWriter("characteroutput.txt"));
String l;
while ((l = inputStream.readLine()) != null) {
outputStream.println(l);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
}
}
}
【问题讨论】:
-
您遇到的错误是什么...?
-
@redflar3 我没有得到行终止的输出。输出仍然在一行中。
-
您在哪里查看的文件?如果记事本,它不会将
\n识别为新行。在记事本++ 或任何高级编辑器中查看..
标签: java