关于java中流的使用--文件以及socket
来源:互联网 发布:sql删除重复字段数据 编辑:程序博客网 时间:2024/05/17 02:44
个人感觉,流是java中不同设备之间交换数据的媒介,例如socket中数据的传输,以及文件的读写操作等,都是通过流来实现的.
流的种类
从处理的数据类型上来看,流主要分为字符流(InputStream, OutputStream)和字节流(Reader, Writer),而从功能上来看,主要分为输入流以及输出流.
文件的读写
File file = new File(".\\test.txt"); //参数true:表示在文件后边追加内容 FileOutputStream fileOutputStream = new FileOutputStream(file, true); FileInputStream fileInputStream = new FileInputStream(file); //装饰者模式,使用带缓冲的输入流 BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream); //使用byte,字节流读取文件中的内容 byte []b = new byte[100]; bufferedInputStream.read(b); String string = new String(b, "UTF-8"); System.out.println(string); //使用字符流读取文件中的内容 BufferedReader bufferedReader = new BufferedReader(inputStreamReader); System.out.println(bufferedReader.readLine()); //写入文件 OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream); outputStreamWriter.write("jjjjjjjjjjjjjjjjjjjd我们哈哈哈哈哈"); BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream); bufferedOutputStream.flush(); String string = "我们进顶顶顶顶顶顶顶顶顶大大大"; byte []b = string.getBytes("UTF8"); bufferedOutputStream.write(b); bufferedOutputStream.close();
socket使用
Server
public class TcpServer {public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String getString; String sendString; ServerSocket socket = new ServerSocket(6789); while(true) { Socket connection = socket.accept(); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream() )); DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream()); getString = reader.readLine(); sendString = getString.toUpperCase() + "\n"; outputStream.writeBytes(sendString); } } }
Client
public class TcpClient {public static void main(String[] args) throws UnknownHostException, IOException { String sendString; String getString; System.out.println("start connection"); Socket socket = new Socket("127.0.0.1", 6789); System.out.println("connect successfully"); DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); BufferedReader fromServer = new BufferedReader(new InputStreamReader(socket.getInputStream())); sendString = "send to server from tcpclient"; outputStream.writeBytes(sendString + "\n"); getString = fromServer.readLine(); InputStream in = socket.getInputStream(); byte[] b = new byte[100]; in.read(b); String string = new String(b, "UTF-8"); System.out.println(b); socket.close(); }}
0 0
- 关于java中流的使用--文件以及socket
- 关于Socket的使用以及java实现
- 关于java中流的知识的整理
- 关于JAVA中流的flush问题
- java中流对文件的操作
- 关于 Delphi 中流的使用:分割与合并文件的函数
- 关于 Delphi 中流的使用(9) 分割与合并文件的函数
- 关于 Delphi 中流的使用(9) 分割与合并文件的函数
- 关于 Delphi 中流的使用(9) 分割与合并文件的函数
- 关于 Delphi 中流的使用(3) 通过内存流读取文件
- 关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
- 关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
- 关于 Delphi 中流的使用(3) 通过内存流读取文件
- 关于 Delphi 中流的使用(6) 用流读写结构化文件
- 关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
- 关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
- 关于 Delphi 中流的使用(3) 通过内存流读取文件
- 关于 Delphi 中流的使用(6) 用流读写结构化文件
- Gym 100685 A Ariel 位统计
- 证券基础--信用交易。。。未完待继续
- java线程池学习(六) —— 线程池的合理配置
- SPOJ 1771 NQUEEN (DLX解n皇后问题)
- 51nod 1090 3个数和为0
- 关于java中流的使用--文件以及socket
- 南阳oj_(77)开灯问题
- LintCode-两个链表的和
- pat1025PAT Ranking (25)
- 程序员写好简历的五大技巧
- Mac OS X 10.9 启用 Web 服务器(默认预装 Apache+PHP 5.4.17)
- 单播、多播和广播
- 40个Java集合面试问题和答案
- C#集合类(数据结构)