package type;
import java.io.*;
import java.util.Scanner;
public class IAndO {
public static void main(String[] args) throws IOException {
//从文件中读取
InputStream is = new FileInputStream(new File(".project"));//字节流
System.out.println(is);
System.out.println(is.read());
//字节流转换为字符流
Reader re = new InputStreamReader(is);//字符流
char[] ch = new char[1024];
re.read(ch, 0,1024 );
for (char c : ch){
System.out.print(c);
}
Scanner sc = new Scanner(new File(".project"));//字符流
while(sc.hasNext()){
System.out.println(sc.nextLine());
}
System.out.println("11111");
FileReader reader = new FileReader(new File(".project"));
char[] c = new char[1024];
int ready = reader.read(c);//返回读取的字节
reader.close();//若关闭,使用BufferedReader读取时会抛出异常
System.out.println(new String(c,0,ready));
Reader readery = new FileReader(new File(".classPath"));
BufferedReader breader = new BufferedReader(readery);
char[] cc= new char[1024];
System.out.println("11111");
int len = breader.read(cc);
breader.close();
System.out.println(len);
System.out.println(new String(cc));
//写入文件
PrintWriter pw = new PrintWriter(new File("copy.txt"));
pw.print(cc);//写入
for(char cha : cc)
pw.append(cha);//追加,写入char
pw.append('s');
//使用刷新或关闭,否则可能文件中没有内容,
//由于读取的内容在一个缓冲区内,只有当缓冲区满,或关闭,或刷新时,才会输入到文件
pw.flush();
pw.close();
Writer wr = new FileWriter(new File("copy2.txt"));
wr.write(c, 0, ready);
wr.close();
//字符流与字节流之间的转换
OutputStream out = new FileOutputStream(new File(".txt"));
//将字符存储为指定编码集的字节
OutputStreamWriter writer = new OutputStreamWriter(out,"UTF-8");
writer.write(cc,0,len);
writer.close();
}
}