不多说,直接上干货!
第一种方法
PWDemo.java
package zhouls.bigdata.DataFeatureSelection.filter; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; /** * PW处理其他流 * @author adminitartor * */ public class PWDemo { public static void main(String[] args) throws IOException { /* * 向文件pw1.txt中写出内容 */ FileOutputStream fos = new FileOutputStream("pw1.txt"); /* * PrintWriter构造方法传入字节流的话, * 不能指定字符集。 */ // PrintWriter pw // = new PrintWriter(fos); /* * 若希望指定字符集,需要在中间使用 * OutputStreamWriter */ OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK"); PrintWriter pw = new PrintWriter(osw); pw.println("啦啦啦"); pw.println("哈哈哈"); System.out.println("写出完毕!"); pw.close(); } }
/* * 接下来是输出流 */ FileOutputStream fos = new FileOutputStream("F:\datamode\SnortEveryAttributesSimData.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK"); PrintWriter pw = new PrintWriter(osw); for(int i=0;i<sdms.size();i++){ pw.println("按时间升序且计算每个属性相似度后的第"+i+"条数据是"+":"+sdms.get(i)); } System.out.println("写出完毕!"); pw.close();
第二种方法
字符流FileWriter
FileWriterDemo.java(涉及到换行和续写)
package zhouls.bigdata.DataFeatureSelection.test;
import java.io.FileWriter;
import java.io.IOException;
//需求:将一些文字存储到硬盘一个文件中。
public class FileWriterDemo {
private static final String LINE_SEPARATOR = System.getProperty("line.separator");
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//创建一个可以往文件中写入字符数据的字符输出流对象。
/*
* 既然是往一个文件中写入文字数据,那么在创建对象时,就必须明确该文件(用于存储数据的目的地)。
* 如果文件不存在,则会自动创建。
* 如果文件存在,则会被覆盖。
* 如果构造函数中加入true,可以实现对文件进行续写!
*/
FileWriter fw = new FileWriter("demo.txt",true);
/*
* 调用Writer对象中的write(string)方法,写入数据。
* 其实数据写入到临时存储缓冲区中。
*/
fw.write("abcde"+LINE_SEPARATOR+"hahaha");//LINE_SEPARATOR是换行符
fw.write("xixi");
//进行刷新,将数据直接写到目的地中。 注意:flush可以用多次。
fw.flush();
//关闭流,关闭资源。在关闭前会先调用flush刷新缓冲中的数据到目的地。 注意:close可以用多次。
fw.close();
}
}