1,写文件 将文件的内容写到txt中
此处用启动一个线程的方式来写入文件,说白了就是继承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");