有两种方法,首先:
第一种方法:一次性全部读取所有文件内容(这里Arrays.sort(b)代表对字节进行排序,如果不需要进行删除即可)
import java.io.FileInputStream;import java.io.FileOutputStream;public class Main{public static void main(String[] args){try {FileInputStream fis = new FileInputStream("c:\\..\\tmp.txt");FileOutputStream fos = new FileOutputStream("c:\\..\\tmp1.txt");int len=0;//一次读取多少字节的文件,这里可以选择tmp.txt的所有字节长度byte[] b = new byte[fis.available()]; while((len=fis.read(b))!=-1){//对字节进行排序Arrays.sort(b);fos.write(b,0,len);fos.flush(); }}catch(FileNotFoundException e){e.printStackTrace();}catch(IOException e){e.printStackTrace();}}}
第二种方法:有时候为了一行一行的读取文件中的内容,因此可以用如下方法:
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.Arrays;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.BufferedReader;import java.io.BufferedWriter;;public class Temp1 {public static void main(String[] args) {// TODO Auto-generated method stubtry {BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\...\\tmp.txt"),"GB2312"));String b="";StringBuffer sb = new StringBuffer();try {while((b = br.readLine())!=null){//得到文件内容放到sb中sb.append(b);//这里可以写自己想对每一行的处理代码}String s = sb.toString();BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("C:\\...\\tmp1.txt"),"GB2312"));bw.write(s);bw.flush();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (UnsupportedEncodingException | FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
如果觉得《Java基础 读取文件中的内容写入到另外一个文件。》对你有帮助,请点赞、收藏,并留下你的观点哦!