PrintWriter与Scanner

---恢复内容开始---

PrintWriter类

构造函数的第二个参数可省略

PrintWriter(File file, String csn) // 每次创建新文件,不能追加  csn 编码名 charSet name
PrintWriter(OutputStream out, boolean autoFlush)

            OutputStream outStream = new FileOutputStream("E:/test.txt", true);
            //追加模式,无则创建,有则追加
            PrintWriter out = new PrintWriter(outStream,true);   // 自动刷新

PrintWriter(String fileName, String csn) // 同File
PrintWriter(Writer out, boolean autoFlush) // 同OutputStream

方法

void print(T t)   // T 为任意类型

void println(T t)  //

void printf()   // 用法与C语言中的printf相同,格式更加繁琐

PrintWriter开启自动刷新
1 输出的数据目的必须是流对象 OutputStream Writer
2必须调用 print println format 中得到任意一个

Scanner类

构造函数,第二个参数可选

Scanner(InputStream source, String charsetName)
Scanner(File source, String charsetName)

方法

boolean hasNextLine()   //  判断是否还有下一行

boolean hasNext()    // 判断是否还有下一个单词  空格分开

boolean hasNextT   // T 为8中基本类型

String  nextLine()   //    每一个hasNext都有一个next

Scanner sc = new Scanner(new File("E:/test.txt"));
while(sc.hasNextLine()){
    String line = sc.nextLine();
    System.out.println(line);
}
时间: 2025-01-12 09:30:48

PrintWriter与Scanner的相关文章

PrintWriter 和 Scanner 类的组合使用

// 示例程序:将一个Employee记录数组存储成一个文本文件,其中每个记录都保存在单独的一行中, // 而实例的域彼此之间使用分隔符分离开. // 众所周知: // 以二进制格式写出数据,需要使用DataOutputStream // 以文本格式写出数据,需要使用PrintWriter // 你可能认为存在着与DataOutputStream类似的类允许我们以文本格式读入数据,与此最接近的类是Scanner. // 但在Java SE 5.0之前,处理文本输入的唯一方式就是通过Buffere

Java之网络编程笔记

网络通讯要素: 1.IP地址 IP地址:用于标记一台计算机的身份证. IP地址由网络地址(确定网络)和主机地址(网络中的主机)组成. IP地址分为A类地址.B类地址.C类地址(常用).D类地址.E类地址. 子网掩码:为了区分网络地址和主机地址.  127.0.0.1(localhost)是本机地址. IPV4和IPV6:IPV4使用4个十进制数表示,即32位二进制. 测试网卡:ping 127.0.0.1 若出现问题,就说明网卡出问题     2.端口号    web服务器:80    mysq

java网络编程,简单的客户端和服务器端

1.服务器端 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class HelloWorldServer { public static void main(String[] arg

java socket 单服务器多客户端实时通信

想用JAVA做一个服务器,请问怎么利用TCP和线程,实现多个客户端同时在线,能与服务器进行交互? 服务器监听端口 做个无限循环 接到一个连接就创建一个通道线程,并将通道线程存储到一个list集合中 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 5

Socket(TCP)

Socket是一个用于机器之间通信的类. Socket客户端: (1)Socket s = new Socket(ip,port);打开一个套接字,发送请求 (2)InputStream istream = s.getInputStream();接收数据 (3)OutputStream ostream = s.getOutputStream();发送数据 需要用PrintWriter和Scanner进行包装,并且注意PrintWriter的自动缓冲. Socket服务器:注意多个客户端同时访问服

Java 二进制I/O处理

在Java中如何处理文本I/O 使用Scanner类读取文本数据,使用PrintWriter类写文本数据 例子: public class IO { public static void main(String [] args) throws FileNotFoundException { // PrintWriter printWriter = new PrintWriter("123.txt"); 输出文本数据 // printWriter.print("chenzqua

Java.NIO小例子

--Client.java public class Client { private static String ip = null; private static int port = 10000; public static void main(String[] args) throws Exception{ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); Docum

基于Java实现hello/hi简单网络聊天程序

目录 Socket简要阐述 Socket的概念 Socket原理 hello/hi的简单网络聊天程序实现 服务器端 客户端 程序执行结果 跟踪分析调用栈 & Linux API对比 创建ServerSocket 调用栈图示 源码分析 Socket绑定 调用栈图示 源码分析 Socket监听 调用栈图示 源码分析 Socket Accept 调用栈图示 源码分析 Java Socekt API与Linux Socket API 参考链接 Socket简要阐述 Socket的概念 Socket的英文

JAVA TcpServer端使用Scanner读取不到数据的解决办法

在使用JAVA进行Socket通信时,在Server端使用Scanner的nextLine()方法读取数据时,一直读取不到数据是因为Scanner是一个扫描器,它扫描数据都是去内存中一块缓冲区中进行扫描并读入数据的,而我们在控制台中输入的数据也都是被先存入缓冲区中等待扫描器的扫描读取.这个扫描器在扫描过程中判断停止的依据就是“空白符”,空格.回车都算做是空白符.nextInt()方法在扫描到空白符的时候会将前面的数据读取走,但会丢下空白符“\r”在缓冲区中,但是,nextLine()方法在扫描的