码迷,mamicode.com
首页 > 编程语言 > 详细

关于java中流的使用--文件以及socket

时间:2015-10-04 20:48:09      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

个人感觉,流是java中不同设备之间交换数据的媒介,例如socket中数据的传输,以及文件的读写操作等,都是通过流来实现的.

流的种类

从处理的数据类型上来看,流主要分为字符流(InputStream, OutputStream)和字节流(Reader, Writer),而从功能上来看,主要分为输入流以及输出流.

文件的读写

  1. File file =newFile(".\\test.txt");
  2. //参数true:表示在文件后边追加内容
  3. FileOutputStream fileOutputStream =newFileOutputStream(file,true);
  4. FileInputStream fileInputStream =newFileInputStream(file);
  5. //装饰者模式,使用带缓冲的输入流
  6. BufferedInputStream bufferedInputStream =newBufferedInputStream(fileInputStream);
  7. //使用byte,字节流读取文件中的内容
  8. byte[]b =newbyte[100];
  9. bufferedInputStream.read(b);
  10. Stringstring=newString(b,"UTF-8");
  11. System.out.println(string);
  12. //使用字符流读取文件中的内容
  13. BufferedReader bufferedReader =newBufferedReader(inputStreamReader);
  14. System.out.println(bufferedReader.readLine());
  15. //写入文件
  16. OutputStreamWriter outputStreamWriter =newOutputStreamWriter(fileOutputStream);
  17. outputStreamWriter.write("jjjjjjjjjjjjjjjjjjjd我们哈哈哈哈哈");
  18. BufferedOutputStream bufferedOutputStream =newBufferedOutputStream(fileOutputStream);
  19. bufferedOutputStream.flush();
  20. Stringstring="我们进顶顶顶顶顶顶顶顶顶大大大";
  21. byte[]b =string.getBytes("UTF8");
  22. bufferedOutputStream.write(b);
  23. bufferedOutputStream.close();

socket使用

Server

  1. publicclassTcpServer{
  2. publicstaticvoid main(String[] args)throwsIOException{
  3. // TODO Auto-generated method stub
  4. String getString;
  5. String sendString;
  6. ServerSocket socket =newServerSocket(6789);
  7. while(true){
  8. Socket connection = socket.accept();
  9. BufferedReader reader =newBufferedReader(newInputStreamReader(connection.getInputStream()));
  10. DataOutputStream outputStream =newDataOutputStream(connection.getOutputStream());
  11. getString = reader.readLine();
  12. sendString = getString.toUpperCase()+"\n";
  13. outputStream.writeBytes(sendString);
  14. }
  15. }
  16. }

Client

  1. publicclassTcpClient{
  2. publicstaticvoid main(String[] args)throwsUnknownHostException,IOException{
  3. String sendString;
  4. String getString;
  5. System.out.println("start connection");
  6. Socket socket =newSocket("127.0.0.1",6789);
  7. System.out.println("connect successfully");
  8. DataOutputStream outputStream =newDataOutputStream(socket.getOutputStream());
  9. BufferedReader fromServer =newBufferedReader(newInputStreamReader(socket.getInputStream()));
  10. sendString ="send to server from tcpclient";
  11. outputStream.writeBytes(sendString +"\n");
  12. getString = fromServer.readLine();
  13. InputStreamin= socket.getInputStream();
  14. byte[] b =newbyte[100];
  15. in.read(b);
  16. Stringstring=newString(b,"UTF-8");
  17. System.out.println(b);
  18. socket.close();
  19. }
  20. }





关于java中流的使用--文件以及socket

标签:

原文地址:http://www.cnblogs.com/wilbertwu/p/4854888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!