java writer是什么 Java中,关于Writer类的write(int c)方法
很多朋友对于java writer是什么和Java中,关于Writer类的write(int c)方法不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
Java中,关于Writer类的write(int c)方法
JDK API 1.6中文帮助文档中和LZ意思一样,这么写的:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public void write(int c)
throws IOException写入单个字符。要写入的字符包含在给定整数值的 16个低位中,16高位被忽略。
用于支持高效单字符输出的子类应重写此方法。
参数:
c-指定要写入字符的 int。
抛出:
IOException-如果发生 I/O错误
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
例子:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
import java.io.*;
public class Test{
public static void main(String[] args) throws IOException{
FileWriter wr=new FileWriter("test");
int i=0x1234007F;
wr.write(i);
wr.close();
FileReader rd=new FileReader("test");
char[] chBuff=new char[2];
rd.read(chBuff);
rd.close();
System.out.print(Integer.toHexString(chBuff[1])+"");
System.out.println(Integer.toHexString(chBuff[0]));
}
}
//输出的是 0 7f,高16位的0x1234被屏蔽了
=============================
=============================
这个例子比上面那个好点
import java.io.*;
public class Test{
public static void main(String[] args) throws IOException{
FileWriter wr=new FileWriter("test.txt");
char i1='我';
char i2='你';
int i=(i1<<16)+i2;
wr.write(i);
wr.close();
FileReader rd=new FileReader("test.txt");
char[] chBuff=new char[2];
rd.read(chBuff);
rd.close();
System.out.print(Integer.toHexString(chBuff[1])+"");
System.out.println(Integer.toHexString(chBuff[0]));
}
}
Java中printWriter()的作用是什么
PrintWriter()的作用是为了定义流输出的位置,并且此流可以正常的存储中文,减少乱码输出。举例:\x0d\x0aPrintWriter out= new PrintWriter(new OutputStreamWriter(new FileOutputStream("d:/text.txt"),"utf-8"));//定义输出流位置,并且文件必须存在\x0d\x0aout.println("中文测试");//写入内容\x0d\x0aout.close();//关闭流\x0d\x0a备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
请问JAVA中的BufferedReader是什么意思
BufferedReader是缓存流的一个类。
缓存流是计算机领域中输入输出流的一种常见形式。包括BufferedInputStream/ BufferedOutputStream类和BufferedReader/ BufferedWriter类。
BufferedReader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。缓存流是过滤流,在创建具体流时需要给出一个InputStream/ OutputStream类型的流座位前端流,并可以指明缓冲区的大小。
扩展资料:
输入输出原理:
BufferedReader和BufferedWriter类各拥有8192个字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并放满缓冲区,而之后若使用read()()方法,会先从缓冲区中进行读取。
如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。
BufferedReader字符流以字符为单位传输数据的流,输入流程序可以从中读取数据的流。
参考资料来源:百度百科-缓存流
参考资料来源:百度百科-java.io
java中的OutputStreamWriter用法
InputStreamReader将字节流转换为字符流。是字节流通向字符流的桥梁。如果不指定字符集编码,该解码过程将使用平台默认的字符编码;
例如:
public static void transReadNoBuf() throws IOException{
/**
*没有缓冲区,只能使用read()方法。
*/
//读取字节流
// InputStream in= System.in;//读取键盘的输入。
InputStream in= new FileInputStream("D:\\demo.txt");//读取文件的数据。
//将字节流向字符流的转换。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节.
InputStreamReader isr= new InputStreamReader(in);//读取
// InputStreamReader isr= new InputStreamReader(new FileInputStream("D:\\demo.txt"));//综合到一句。
char []cha= new char[1024];
int len= isr.read(cha);
System.out.println(new String(cha,0,len));
isr.close();
}
public static void transReadByBuf() throws IOException{
/**
*使用缓冲区可以使用缓冲区对象的 read()和 readLine()方法。
*/
//读取字节流
// InputStream in= System.in;//读取键盘上的数据
InputStream in= new FileInputStream("D:\\demo.txt");//读取文件上的数据。
//将字节流向字符流的转换。
InputStreamReader isr= new InputStreamReader(in);//读取
//创建字符流缓冲区
BufferedReader bufr= new BufferedReader(isr);//缓冲
// BufferedReader bufr= new BufferedReader(new InputStreamReader(new FileInputStream("D:\\demo.txt")));可以综合到一句。
/* int ch=0;
ch= bufr.read();
System.out.println((char)ch);*/
String line= null;
while((line= bufr.readLine())!=null){
System.out.println(line);
}
isr.close();
}
好了,文章到此结束,希望可以帮助到大家。