import java.io.*;
/*
io流细节
@ blog.youkuaiyun.com/ljfbest
*/
class Test
{
public static void main(String[] args) throws IOException
{
/*
FileWriter fw=new FileWriter(new File("a.txt"),true);
//在windows中,一个换行相当于\r\n两个字符,而linux中则是\n
fw.write("ssss\r\n");
//勿忘刷新缓冲区,不然写不到a.txt中,fr.close()前也会自动刷新一次
fw.flush();
*/
FileReader fr=new FileReader("a.txt");
char[] ch1=new char[3];
/*a.txt:1. abcde--->abcdec (关键理解原理)
2. abc (此处一个换行,在windows中相当于两个字符,故输出以下)
e --->abc
e
*/
while((fr.read(ch1))!=-1)
System.out.print(ch1);//System.out.print(new String (buf,0,num));
fr.close();
}
}
import java.io.*;
/*
字符流的缓冲区 BufferedWriter,BufferedReader
*/
class Test
{
public static void main(String[] args) throws IOException
{/*
FileWriter fw=new FileWriter("a.txt",true);
BufferedWriter bf=new BufferedWriter(fw);
bf.write("ccc");
bf.newLine();//输入一个换行符,windows下是\r\n,linux下是\n
bf.write("aaa");
bf.flush();
bf.close();
*/
BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
BufferedReader br=new BufferedReader(new FileReader("Test.java"));
String line=null;
while((line=br.readLine())!=null)
{
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
}
}
import java.io.*;
/*
字符流的缓冲区 BufferedWriter,BufferedReader
*/
class Test
{
public static void main(String[] args) throws IOException
{
/*
FileOutputStream fs=new FileOutputStream("c.txt");
fs.write("你好!".getBytes());//必须要转化为字节数组
//此时不需要刷新,flush()
fs.close();*/
FileInputStream fi=new FileInputStream("c.txt");
/*int ch;
while((ch=fi.read())!=-1)
System.out.println((char)ch);
*/
byte[] by=new byte[1024];
int len;
while((len=fi.read(by))!=-1)
System.out.println(new String(by,0,len));
fi.close();
}
}
import java.io.*;
import java.util.*;
class Test
{
public static void main(String[] args) throws IOException
{
/* // 转换流:将字节流转成字符流再使用缓冲区的readLine()
InputStream in=System.in;
InputStreamReader is=new InputStreamReader(in);//转换流
BufferedReader bf=new BufferedReader(is);
String line=null;
while((line=bf.readLine())!=null)
System.out.println(line);
*/
/*
//PrinterWriter PrinterStream
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
//此处不用BufferedWriter改用PrintWriter;如果为 true,则 println、printf 或 format 方法将刷新输出缓冲区
PrintWriter out=new PrintWriter(System.out,true);//此处写到控制台上,刷新只对流起作用
//PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter("a.txt")));//此处要转换成流,才能自动刷新
String line=null;
while((line=bf.readLine())!=null)
out.println(line);
out.close();
bf.close();
*/
/*
DataInputStream in=new DataInputStream(System.in);
int n=in.readInt();
System.out.println(n);
in.close();
*/
/*
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String s=bf.readLine();
byte[] b=s.getBytes("GBK");//编码 省略时系统默认的
String s1=new String(b,"GBK");///解码 省略时系统默认的
System.out.println(s1);
//System.out.println(Arrays.toString(b));
*/
BufferedInputStream bf=new BufferedInputStream(System.in);
byte[] b=new byte[10];
bf.read(b);
String s=new String(b);
System.out.println(s);
}
}