[英]Read and Write to text file in java
我正在尝试在文本文件中添加值。 它的工作良好,输出在日食中很好。 但是当我看到文件中的值时,我得到了一个直线模式:2526272829。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class FileDemo {
public static void main(String[] args) throws IOException {
BufferedReader bfr;
String line;
bfr=new BufferedReader(new InputStreamReader(System.in));
String fileName=bfr.readLine();
File file=new File(fileName);
if(!file.exists()){
file.createNewFile();
}
try{
bfr=new BufferedReader(new FileReader(file));
while((line=bfr.readLine())!=null){
System.out.println(line);
}
FileWriter fw=new FileWriter(file,true);
for(int i=25;i<30;i++){
fw.append(String.valueOf(i));
}
while((line=bfr.readLine())!=null){
System.out.println(line);
}
bfr.close();
fw.close();
}catch(FileNotFoundException fex){
fex.printStackTrace();
}
}
}
我也想知道bufferedReader存储如何工作,所以请给出一些链接。
试试这个。 手动添加新行..
fw.append(String.valueOf(i)+"\n");
您需要在for循环中添加换行符:
FileWriter fw=new FileWriter(file,true);
for(int i=25;i<30;i++){
fw.append(String.valueOf(i)+"\n"); //Here I've made the small correction
}
每次追加时都会写一个新行。 我假设这是你想要的输出。
有关bufferedReader信息,您可以在此处查看更多信息:
http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html
在每次迭代时将新行添加到FileWriter,但是做得正确,不要连接字符串。
FileWriter fw=new FileWriter(file,true);
for(int i=25;i<30;i++){
fw.append(String.valueOf(i));
fw.append("\n");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.