package com.liuxin.test;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Write {
public static void main(String[] args)throws Exception {
//2017年9月30日 下午1:48:23
String contentString="shide 的大的呃呃";
String fileName="D://3.txt";
System.out.println("----------一段字符串以字节流写入文件------------");
writeByte(contentString,fileName);
System.out.println("----------一段字符串以字符流写入文件------------");
writeChar(contentString,fileName);
System.out.println("----------一段字符串通过缓冲流以字节流写入文件------------");
writeByteBuffer(contentString,fileName);
System.out.println("----------一段字符串通过缓冲流以字符流写入文件------------");
writeCharBuffer(contentString,fileName);
System.out.println("----------一段字符串通过缓冲流以字符流写入文件,并这只字体编码------------");
writeCharSetEncode(contentString,fileName);
System.out.println("------------复制文件------------------");
readAndWrite();
}
private static void readAndWrite() throws Exception{
//2017年9月30日 下午3:20:00
FileInputStream is=new FileInputStream("D://1.txt");
InputStreamReader isr=new InputStreamReader(is, "gbk"); //设置编码
BufferedReader br=new BufferedReader(isr);
File file=new File("D://4.txt");
if(file.exists()){//文件存在着先删除
file.delete();
}
FileOutputStream os=new FileOutputStream("D://4.txt",true);//ture表示追加写入。如果不需要追加写入就直接去掉这个参数就行
OutputStreamWriter osw=new OutputStreamWriter(os,"gbk");//设置编码
BufferedWriter bw=new BufferedWriter(osw);
String tempReadString=null;
while((tempReadString=br.readLine())!=null){
bw.write(tempReadString);
bw.newLine();//换行
}
br.close();
isr.close();
is.close();
bw.close();
osw.close();
os.close();
}
private static void writeCharSetEncode(String contentString, String fileName) throws Exception {
//2017年9月30日 下午3:10:55
FileOutputStream fw=new FileOutputStream(fileName,true);//ture表示追加写入。如果不需要追加写入就直接去掉这个参数就行
OutputStreamWriter osw=new OutputStreamWriter(fw,"gbk");
BufferedWriter bw=new BufferedWriter(osw);
bw.newLine();//换行
bw.write(contentString);
bw.close();
fw.close();
}
private static void writeCharBuffer(String contentString, String fileName) throws Exception {
//2017年9月30日 下午3:06:06
FileWriter fw=new FileWriter(fileName,true);//ture表示追加写入。如果不需要追加写入就直接去掉这个参数就行
BufferedWriter bw=new BufferedWriter(fw);
bw.newLine();
bw.write(contentString);
bw.close();
fw.close();
}
private static void writeByteBuffer(String contentString, String fileName) throws Exception {
//2017年9月30日 下午2:30:11
FileOutputStream os=new FileOutputStream(fileName,true);//ture表示追加写入。如果不需要追加写入就直接去掉这个参数就行
BufferedOutputStream bos=new BufferedOutputStream(os);
bos.write(contentString.getBytes());
bos.write("\r\n".getBytes()); //换行追加
bos.write("一段字符串通过缓冲流以字节流写入文件".getBytes());
bos.write("追加内容".getBytes());
bos.close();
os.close();
}
private static void writeChar(String contentString,String fileName)throws Exception {
//2017年9月30日 下午2:18:20
FileWriter fw=new FileWriter(fileName,true);//ture表示追加写入。如果不需要追加写入就直接去掉这个参数就行
fw.write(contentString);
fw.close();
}
private static void writeByte(String contentString,String fileName) throws Exception{
//2017年9月30日 下午1:55:39
FileOutputStream os=new FileOutputStream(fileName);
os.write(contentString.getBytes());
os.close();
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106296.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...