直接用java.io.RandomAccessFile,然后用这个对象的writeBytes,Strings方法就可以了。
专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业宁武免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
使用java中的转义符"\r\n": String str="aaa"; str+="\r\n"; 这样在str后面就有换行了.注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果。
BufferedWriter的newline方法,FileOutputStream fos=new FileOutputStream,c,11.txt,BufferedWriter,bw=new,BufferedWriter,fosbw.write, bw.newline(),bw.write,java,w.newline()。
使用System.getProperty()方法: String,aaa,System.getProperty,line.separator"; 附,针对常用的系统,可以使用如下的转义符实现换行: windows下的文本文件换行符:\r\n linux/unix下的文本文件换行符,\r Mac下的文本文件换行符\n。
可以用三种方法实现换行操作,分别用System.out.println()语句进行输出,用换行字符'\r\n',以及用BufferedWriter的newline()方法,具体使用哪一种可以根据具体的场景进行选择。
java中实现换行有以下几种方法:\x0d\x0a1.使用java中的转义符"\r\n": \x0d\x0aString str="aaa"; \x0d\x0astr+="\r\n"; \x0d\x0a这样在str后面就有换行了. \x0d\x0a注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果. \x0d\x0a2.BufferedWriter的newline()方法: \x0d\x0aFileOutputStream fos=new FileOutputStream("c;\\11.txt"); \x0d\x0aBufferedWriter bw=new BufferedWriter(fos); \x0d\x0abw.write("你好"); \x0d\x0abw.newline(); \x0d\x0abw.write("java"); \x0d\x0aw.newline(); \x0d\x0a3.使用System.getProperty()方法: \x0d\x0aString str = "aaa"+System.getProperty("line.separator"); \x0d\x0a附:针对常用的系统,可以使用如下的转义符实现换行: \x0d\x0awindows下的文本文件换行符:\r\n \x0d\x0alinux/unix下的文本文件换行符:\r \x0d\x0aMac下的文本文件换行符:\n
//这帖子放了很久了,怎么还能在提问区看到啊...给你写个完整的吧!
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class Day01_ReadTxt {
public static void main(String[] args) {
File file=new File("K:\\Test\\TestTxt.txt");//路径
if(file.canExecute())//如果存在就继续;
init(file);
}
private static void init(File file) {
System.gc();
BufferedReader br=null;
try {
br=new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));
for(String str=br.readLine();str!=null;str=br.readLine()) {
str=str.replaceAll("[{}]+", "\r\n");//正则替换;
System.out.print(str);//输出控制台
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(br!=null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
用回车\r即可
如 System.out.print("\r当前时间:" + format.format(new java.util.Date()));
当然这需要每次输出的长度是一样的,否则若后面的数据较短,就无法将上一次的全部覆盖掉。
解决方法:先用“\r”+足够多的空格清空行
另外为了看清效果,每打印一行需暂停一会,如下面代码:
public class Test {
public static void main(String... a) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
for(int i=0; i100; i++) {
System.out.print("\r当前时间:" + format.format(new java.util.Date()));
try {
Thread.sleep(1000);
} catch (Exception e) {}
}
}
}