写程序的时候经常碰见 java 中的 I/O 问题,一下是使用到的进行记录:
java I/O 分为字符流和字节流,字符流是按照字符输出的,而字节流是按照一个个的字节输出的。经常用到的是汉字问题,要用字符流,因为汉字是两个字节组成,如果按照字符流输出的话,将会是乱码。java 提供的api 中那些是字节流?那些事字符流呢?
简单的区分是:继承了OutputStream 或者是 InputStream 的都是字节流(注意Stream),而继承了Writer 或者Reader 的类都是字符流的。还有的话,jdk 的API文档是最权威的资料,网上的实例会经常性的出现问题,也包括我提供的,关于api 都没有文档权威
。
下面是一个可以输出汉字的例子:
package IO;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class PrintWriterTest {
/**
* @param args
* @throws FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException {
// TODO Auto-generated method stub
PrintWriter pw = new PrintWriter(new File("F:\\Java\\新浪\\output\\followers.txt"));
pw.write("hello world!");
pw.println("你好!");
pw.print("新浪微博!");
pw.close();
}
}