字节流

直接上代码:

import java.io.*;

class Test{
public static void main(String[] args){
FileInputStream inputfile = null;
FileOutputStream outputfile = null;
try{
inputfile = new FileInputStream("./input.txt");
outputfile = new FileOutputStream("./output.txt");
byte[] buffer = new byte[100];
int temp = inputfile.read(buffer,0,buffer.length);
String s = new String(buffer);
s = s.trim();
System.out.println(s);
outputfile.write(buffer,0,temp); }
catch(Exception e){
System.out.println(e);
} }
}

优化版:

通过循环1M 1M读取文件

import java.io.*;

class Test{
public static void main(String[] args){
FileInputStream inputfile = null;
FileOutputStream outputfile = null;
try{
inputfile = new FileInputStream("./input.txt");
outputfile = new FileOutputStream("./output.txt");
byte[] buffer = new byte[1024];
while(true){
int temp = inputfile.read(buffer,0,buffer.length);
if(temp == -1){
break;
}
outputfile.write(buffer,0,temp); } }
catch(Exception e){
System.out.println(e);
}
finally{
try{
inputfile.close();
outputfile.close();
}
catch(Exception e){
System.out.println(e);
} } }
}

字符流

import java.io.*;

class TestString{
public static void main(String[] args){
FileReader inputfile = null;
FileWriter outputfile = null;
try{
inputfile = new FileReader("./input.txt");
outputfile = new FileWriter("./output.txt");
char[] buffer = new char[1024];
while(true){
int temp = inputfile.read(buffer,0,buffer.length);
if(temp == -1){
break;
}
outputfile.write(buffer,0,temp); } }
catch(Exception e){
System.out.println(e);
}
finally{
try{
inputfile.close();
outputfile.close();
}
catch(Exception e){
System.out.println(e);
} } }
}

BufferedReader.readLine

import java.io.*;

class TestBufferReader{
public static void main(String[] args){
FileReader fileReader = null;
BufferedReader bufferReader = null;
try{
fileReader = new FileReader("./input.txt");
bufferReader = new BufferedReader(fileReader);
String line =null;
while(true){
line = bufferReader.readLine();
if(line == null){
break;
}
System.out.println(line);
}
}
catch(Exception e){
System.out.println(e);
} }
}

java基础之I/O操作的更多相关文章

  1. Java基础之原生JDBC操作数据库

    前言 日常开发中,我们都习惯了使用ORM框架来帮我们操作数据库,本文复习.记录Java如何使用原生JDBC操作数据库 代码编写 封装几个简单方法 find查询方法 findOne查询方法 update ...

  2. Java基础知识系列——目录操作

    Java对目录操作的许多方法与上一篇文件操作的方法很多是一样的. java.io.File file = new File( "D:\1\2\3\4"); 1.递归创建目录 fil ...

  3. Java基础知识系列——文件操作

    对文件进行操作在编程中比较少用,但是我最近有一个任务需要用到对文件操作. 对文件有如下操作形式: 1.创建新的文件(夹) File fileName = new File("C:/myfil ...

  4. Java基础知识之文件操作

    流与文件的操作在编程中经常遇到,与C语言只有单一类型File*即可工作良好不同,Java拥有一个包含各种流类型的流家族,其数量超过60个!当然我们没必要去记住这60多个类或接口以及它们的层次结构,理解 ...

  5. java基础之数组常用操作

    常用的对数组进行的操作 1.求数组中最大值,最小值 思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max.最小值同样 public cla ...

  6. Java基础之cmd入门操作笔记

    前提:jdk已安装且环境变量配置成功,参考上文jdk 安装及环境变量配置 入门操作步骤: 1.打开记事本或者notepad,编写Abc代码,具体如下: public class Abc{    pub ...

  7. android基础篇------------java基础(12)(多线程操作)

    <一>基本概念理解 1.什么是进程? 进程就是在某种程度上相互隔离,独立运行的程序.一般来说,系统都是支持多进程操作的,这所谓的多进程就是让系统好像同时运行多个程序. 2.什么是线程呢? ...

  8. 【Java基础】ArrayList初始化操作

    要用60个零初始化列表,请执行以下操作: List<Integer> list = new ArrayList<Integer>(Collections.nCopies(60, ...

  9. Java基础(命令行操作、注释及API、)

    一.常用的dos命令. dir:列出当前目录下的文件及文件夹 md:创建目录 rd:删除目录 cd:进入到指定目录 cd..:退出到上一级目录 cd\:退出到根目录 del:删除文件 exit:退出d ...

随机推荐

  1. 洛谷P1464 Function  HDU P1579 Function Run Fun

    洛谷P1464 Function HDU P1579 Function Run Fun 题目描述 对于一个递归函数w(a,b,c) 如果a≤0 or b≤0 or c≤0就返回值11. 如果a> ...

  2. P1478 陶陶摘苹果(升级版)(sort(),时间优化,priority_queue)

    题目描述 又是一年秋季时,陶陶家的苹果树结了 n 个果子.陶陶又跑去摘苹果,这次他有一个 a 公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与 NOIp2005 普及组第一题不同的是:陶陶之 ...

  3. H5解决active伪类失效---点击后背景效果

    <body ontouchstart></body> 给body注册一个空事件即可

  4. PP: Extracting statisticla graph features for accurate and efficient time series classification

    Problem: TSC, time series classification; Traditional TSC: find global similarities or local pattern ...

  5. js日历三级联动

    直接切入正题 <html><head><title>年月日三下拉框联动</title><meta http-equiv='Content-Type ...

  6. dubbo的使用

    dubbo现在用的也不多,基本都在用spring cloud那一套,所以不详细写这个dubbo了. 1.zookeeper的安装 2.demo示例 我们需要把提供者注册到dubbo注册中心,消费者去订 ...

  7. 剑指offer-面试题6-从头到尾打印链表-链表

    /* 题目: 输入一个链表的头节点,从尾到头反过来打印每个节点的值 */ /* 思路: 解法一:利用栈后进先出的特性. 解法二:利用递归函数的性质. */ void PrintListReversin ...

  8. maven依赖包无法更新下载

    在IDEA工程中导入已存在的module时,按默认设置,直到完成导入,结果所有的外部依赖包都无法更新下载,即使是更新了setting.xml配置文件信息,依旧是不能更新下载依赖包,现将具体的操作过程和 ...

  9. Vue tinymce富文本编辑器

    tinymce 官方为 vue 项目提供了一个组件 tinymce-vue 一.安装tinymce-vue npm install @tinymce/tinymce-vue -S 二.下载tinymc ...

  10. GYCTF ezupload

    上传一句话,没有任何过滤 菜刀连接后,读取flag文件 bash -c/readflag >tmp cat tmp 上面是非预期的解法.应该是题出问题了.看了一个师傅的blog,看源码,发现预期 ...