IO流

xiaoxiao2021-02-28  75

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(); } }
转载请注明原文地址: https://www.6miu.com/read-46022.html

最新回复(0)