IO-6(PrintStream/PrintWriter)

1.PrintStream/PrintWriter

字节打印流/字符打印流

添加输出数据的功能,可方便打印各种数据值

1.1方法

print():<==>write()写入串时不换行

println():自动换行,特有功能,和系统相关

1.2 使用步骤

  • 创建流
  • 写数据
  • 关闭流
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class Test{
    public static void main(String[] args) throws FileNotFoundException{
    	PrintWriter out=new PrintWriter("a.txt");
    	for(int i=0;i<5;i++) {
    		out.println("hello");
    	}
    	out.close();
    }
}

运行结果:

1.3 自动刷新

打印流完成数据自动刷新。

PrintWriter(OutpitStream out,boolean autoFlush);

PrintWriter(Writer out,boolean autoFlush);

  • 创建流
  • 写数据
  • 关闭流
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Test{
    public static void main(String[] args) throws IOException{
    	PrintWriter out=new PrintWriter(new FileWriter("a.txt"),true);
    	for(int i=0;i<5;i++) {
    		out.println("World");
    	}
    	out.close();
    }
}

运行结果:

1.4 PrintWriter

向文本输出的流

此类中的方法不会抛出 I/O 异常

实现了PrintStream的所有的Print方法。

  • 可自动换行,和系统无关
  • 不可输出字节,但可输出其他任意类型
  • 可自动刷新,得启动配置(只在调用println(),printf(),format才有用)

构造方法

说明它包装了一个字符输出流Writer,所以它是包装流,不具备写出功能,要有写出流。

可以把字节输出流转换为字符输出流(包括标准输出流)

1.5 PrintStream

 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError()方法测试的内部标志。

打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用PrintWriter类。

1. PrintStream案例: ```java import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; public class PrintStreamDemo { public static void main(String[] args) { try { File file = new File("output.txt"); FileOutputStream fos = new FileOutputStream(file); PrintStream ps = new PrintStream(fos); ps.println("Hello, PrintStream!"); ps.println("This is a test."); ps.close(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } } ``` 2. PrintWriter案例: ```java import java.io.File; import java.io.FileNotFoundException; import java.io.PrintWriter; public class PrintWriterDemo { public static void main(String[] args) { try { File file = new File("output.txt"); PrintWriter pw = new PrintWriter(file); pw.println("Hello, PrintWriter!"); pw.println("This is a test."); pw.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } } ``` 3. Scanner案例: ```java import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { try { File file = new File("input.txt"); Scanner scanner = new Scanner(file); while (scanner.hasNextLine()) { String line = scanner.nextLine(); System.out.println(line); } scanner.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } } ``` 这些案例分别演示了PrintStreamPrintWriter和Scanner的用法。PrintStreamPrintWriter可以用来向文件或控制台输出内容,Scanner可以用来从文件或控制台读取内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值