字节流

直接上代码:

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. Scout YYF I POJ - 3744【矩阵乘法优化求概率】

    题意: 一条路上有 $n$ 个地雷,YYF 从位置 $1$ 出发,走一步的概率为 $p$,走两步的概率是 $(1-p)$.求 YYF 能顺利通过这条路的概率. 数据范围: $1\leq n \leq ...

  2. 吴裕雄--天生自然 python开发学习笔记:解决No module named 'mpl_toolkits.basemap'问题

    . 下载: basemap-1.1.0-cp36-cp36m-win_amd64.whl和pyproj-1.9.5.1-cp36-cp36m-win_amd64.whl这两个文件 先运行: 再运行:

  3. Magento2 自定义生成日志函数

    /** * @param $info * @param string $file * @return bool */ public function logger($info, $file = &qu ...

  4. 04_TypeScript类

    1.类的定义 //ts定义类和ES6相似,不同的是属性需要修饰符并定义数据类型 class Person{ public name:string; constructor(n:string){ thi ...

  5. ZViZbsPBdS

    第一步:请在下方输入框中输入你要搬家的博客个人主页地址,需要注意格式: SegmentFault:https://segmentfault.com/u/xxxx 掘金:https://juejin.i ...

  6. Pycharm有必要改的几个默认设置项

    最近在用Pycharm学习Python的时候,总有两个地方感觉不是很舒服,比如调用方法的时候区分大小写(thread就不会出现Thread,string就不会出现String)等,这让我稍稍有点不舒服 ...

  7. VSCode常用插件汇总

    vscode常用插件汇总: 点击插件名字,查看使用文档 vscode-fileheader : 添加注释到文件头,并支持自动更新文件修改时间. EditorConfig for vs code :   ...

  8. py二级习题(猜猜我心中的数字)

    import random number = random.randint(1,100) while True: inputnumber = int(input("请输入你心中的数字:&qu ...

  9. F. Moving Points

    https://codeforces.com/contest/1311/problem/F 这是一道线段树类型的题: 可以用权值线段树或者树状数组来解: 所以,我们可以分为两部分,第一部分是计算出到当 ...

  10. app遮罩层--网赚

    css .mask{display: none; position: fixed; width: 100%; height: 100%; top:0; background: rgba(0, 0, 0 ...