此处用启动一个线程的方式来写入文件,说白了就是继承Runnable接口的线程,然后在run方法里面写相关操作,最后通过一个main函数来执行即可。
import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class WriteTxt implements Runnable { public void run(){ List<String> list=new ArrayList<String>(); list.add("屌丝"); list.add("高富帅"); list.add("白富美"); try { FileWriter output = new FileWriter("D:\\test.txt" ); BufferedWriter bf= new BufferedWriter(output); for(String l:list ){ bf.write(l+ "\r\n"); } bf.flush();//此处很关键,如果不写该语句,是不能从缓冲区写到文件里的 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { WriteTxt rt= new WriteTxt(); Thread demo1= new Thread(rt); demo1.start(); } }
2,读文件,将文件从txt读到内存中(非常简单,就是从文件中用缓冲流的方式读取)
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadTxt { public static void main(String[] args) { try { FileReader input = new FileReader("D:\\test.txt" ); BufferedReader br = new BufferedReader(input); String text=null; while (( text = br.readLine()) != null) { System. out.println(text); } br.close(); input.close(); } catch (IOException e) { e.printStackTrace(); } } }
3.在txt结尾追加内容
方法一:
FileWriter output = new FileWriter("D:\\tag.txt" ,true); BufferedWriter bf= new BufferedWriter(output); bf.write( "http://zhan.renren.com/\r\n"); bf.flush();
方法二:
RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw"); // 文件长度,字节数 long fileLength = randomFile.length(); //将写文件指针移到文件尾。 randomFile.seek(fileLength); randomFile.writeBytes("China");