首页 > 编程语言 >十七,JAVA IO 线程

十七,JAVA IO 线程

时间:2023-12-25 17:25:18浏览次数:32  
标签:info JAVA printStream bufferedWriter 线程 IO new txt

字符流:每次读写一个字符,只能操作文本文

  • Reader :InputStreamReader 是字节流通向字符流的桥梁

  • Writer :OutputStreamWriter 是字符流通向字节流的桥梁

便捷流 :

  • FileReader

  • FileWriter

  • FileReader fileReader = new FileReader("file.txt");
    FileWriter fileWriter = new FileWriter("b.txt");
    int len;
    char[] chars = new char[1024];
    while ((len = fileReader.read(chars)) != -1) {  
       fileWriter.write(chars, 0, len);
    }
    fileWriter.close();fileReader.close();

字符缓冲流

  • BufferedReader

  • BufferedWriter

  • BufferedReader bufferedReader = new BufferedReader(new FileReader("file.txt"));
    BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("c.txt"));
    String info = bufferedReader.readLine();
    while (info != null) {  
       bufferedWriter.write(info);    
       bufferedWriter.newLine();
    bufferedWriter.flush();    
       info = bufferedReader.readLine();
    }
    bufferedWriter.close();
    bufferedReader.close();

便捷输出流

  • PrintStream

  • PrintWriter

  • PrintStream printStream = new PrintStream(new FileOutputStream("d.txt"));
    printStream.println("xzy");
    printStream.close();
    Scanner scanner = new Scanner(System.in);
    printStream = new PrintStream(new FileOutputStream("e.txt", true));
    while (true) {    
       String info = scanner.next();    
       if ("exit".equals(info)) {        
       break;    
    }    
    printStream.println(info);    
    printStream.flush();
    }

线程

  • 程序/软件 : 静态的,不会自己运行的,是一堆指令,存在于硬盘上的.

  • 进程 : 程序的一次运行 , 也就是运行中的程序

  • 线程 : 进程执行过程中的分支 , 主进程也称为 主线程

    •     // Thread 线程类
         MyThread myThread = new MyThread();
         myThread.start();// 启动线程
      // 获取当前线程 :
      Threadthread=Thread.currentThread();
      String threadName=thread.getName();
  • 每个线程都有自己默认的名字 : Thread-0 -1 -2 ...

  • 优先级 : 1~10 , 默认为 5

  • 主线程 : main

  • 继承不会共享数据 , 实现可以共享数据

  • 同一个线程只能启动一次 , 否则 会有 IllegalThreadStateException

  • 用户线程 : 默认的

  • 守护线程 : 当所有的用户线程结束时 , 守护线程随之结束

    • // 设为守护线程 thread.setDaemon(true);

    •  

标签:info,JAVA,printStream,bufferedWriter,线程,IO,new,txt
From: https://www.cnblogs.com/tonnpo/p/17926533.html

相关文章

  • Windows 10 on ARM, version 22H2 (updated Dec 2023) ARM64 AArch64 中文版、英文版
    Windows10onARM,version22H2(updatedDec2023)ARM64AArch64中文版、英文版下载基于ARM的Windows10请访问原文链接:https://sysin.org/blog/windows-10-arm/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWindows10,version22H2(releasedNov2021)......
  • Windows 10, version 22H2 (updated Dec 2023) 中文版、英文版下载
    Windows10,version22H2(updatedDec2023)中文版、英文版下载Windows1022H2企业版arm64x64请访问原文链接:https://sysin.org/blog/windows-10/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWindows10更新历史记录Windows10,version22H2,alledit......
  • Windows 11 version 23H2 中文版、英文版 (x64、ARM64) 下载 (updated Dec 2023)
    Windows11version23H2中文版、英文版(x64、ARM64)下载(updatedDec2023)Windows11,version23H2,2023年12月更新请访问原文链接:https://sysin.org/blog/windows-11/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWindows11目前版本所有的日期都按照......
  • java爬虫技术之Selenium爬虫
    前言Selenium爬虫是一种基于浏览器自动化的爬虫技术,可以模拟用户的操作行为,实现对动态网页的爬取。在一些情况下,为了绕过网站的反爬虫机制或者访问受限的网站,我们需要使用代理IP来进行爬取。本文将介绍如何使用Selenium爬虫结合代理IP进行网络爬取,并附带完整的代码实现。一、什么是......
  • iOS苹果App应用程序上架后提示有三方登入是怎么回事?如何解决?
    Hello大家好!我是咕噜铁蛋!现在越来越多的App都提供了三方登陆功能,比如使用微信、QQ、微博等社交媒体账号登陆。但是,有些开发者在将App上架到苹果应用商店时,会遇到提示“您的应用程序使用了第三方登录”的问题。今天铁蛋将对这一问题进行探讨,并提供解决方法。一.什么是三方登陆?三......
  • C# Action 和 Func 区别
    C#Action和Func区别 前言:1.委托是一个类,定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。  把一个参数类型返回值相同方法名不同的方法当变量的方法叫委托。为了实现程序的六大设计中的开闭原则:解耦,对修改关闭,对扩展开放。逻......
  • C# 线程、线程池、Task概念+代码实践 C# 线程、线程池、Task概念+代码实践
    C#线程、线程池、Task概念+代码实践dotnet编程大全专注C#wpf开发,dotnet编程大全 1人赞同了该文章转自:JerryMouseLihttp://cnblogs.com/JerryMouseLi/p/14135600.html前言 线程中的概念很多,如果没有代码示例来理解,会比较晦涩,而且有些概......
  • pthread_create用法,创建线程输出2*n
    #include<stdio.h>#include<stdlib.h>#include<pthread.h>#include<unistd.h>void*calculate(void*arg){intvalue=*(int*)arg;longvalue_2=2*(long)value;printf("Thethread_idis%lu,createdby%d\n&qu......
  • 测试buffer_size对文件IO的读取效率
    #include<stdio.h>#include<stdlib.h>#include<unistd.h>intmain(intargc,char**argv){if(argc<2){fprintf(stderr,"faildUsage...\n");exit(1);}intbuffersize=atoi(argv[1]);cha......
  • 修改buffersize测试stdio的读写效率
    #include<stdio.h>#include<stdlib.h>#include<unistd.h>intmain(intargc,char**argv){if(argc<2){fprintf(stderr,"faildUsage...\n");exit(1);}intbuffersize=atoi(argv[1]);cha......