文档章节

用io读取一个文件.

奥特曼之王
 奥特曼之王
发布于 2017/09/11 13:57
字数 532
阅读 2
收藏 0

InputStream是所有输入流的基类,FileInputStream是它的一个实现类,允许程序读取机器上面的文件

FileInputstream,FileOutputstream分别是由抽象类Inputstream和Outputstream继承来的,他们的源和目的地是以字节流的方式读取文件,键盘,鼠标,或者显示器.。

 而byteArrayInputStream,byteArrayOutputStream的源和目的地是字节数组,即内存。

FileInputstream的构造函数是FileInputstream(String filename)这样的话Fileinputstream流的源就是名字为filename的文件,而byteArrayInputStream的构造函数是byteArrayInputStream(byte []buf),这样的话byteArrayInputStream流的源就是名字为buf的字节数组。


用io读取一个文件.
public void readFileByCharteArray(String filepath) throws IOException {
        BufferedReader br=new BufferedReader(new FileReader(filepath));
        String str=null;
        StringBuffer buf = new StringBuffer();
        
        while((str=br.readLine())!=null){
            buf.append(str);
            buf.append("\r\n");
        }
        System.out.println(buf.toString());
        
        br.close();
    }


用io读一个文件,并显示出来

public static void main(String[] args)throws Exception
{
                String path="d:\\aa.txt";
                File file=new File(path);
                FileInputStream fis=new FileInputStream(file);
    InputStreamReader isr=new InputStreamReader(fis,"utf-8");
    BufferedReader br=new BufferedReader(isr);
    StringBuffer line=new StringBuffer();
    String str=null;
    File file1=new File("d:\\cc.txt");
    FileOutputStream fos=new FileOutputStream(file1);
    OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");
    BufferedWriter bw=new BufferedWriter(osw);
    while((str=br.readLine())!=null){
        line.append(str);
        line.append("\n");
    }
                System.out.println(line);
    bw.flush();
    bw.close();
}


//创建一个文件夹

      //    Calendardate=Calendar.getInstance();

       SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

       String  name=

    sdf.format(Calendar.getInstance().getTime());//date.gettime();//得到当前时间

       File file=new File("c:/"+name);//创建文件夹

       file.mkdir();//创建此抽象路径名指定的目录。   

       //在文件夹里面创建.txt文本

        BufferedWriter bw=new BufferedWriter(new FileWriter(file+"/test.txt"));

FileWriter    是被修饰者   BufferedWriter    是修饰者  (都是使用字符流写文件)

上面这个加了一个缓冲,缓冲写满后在将数据写入硬盘    这样做极大的提高了性能 

//也可以.你每写一个数据,硬盘就有一个写动作,性能极差

FileWriter ff=new FileWrite(file+”/test.txt”);

        //在文本里面写字.

        bw.write("i try it ok..haha very good");

        bw.write("\n11111");

        bw.write("\n22222");

        bw.close();

    //读取文本文件内容

        BufferedReader bb=new BufferedReader(new FileReader(file+"/test.txt"));

        String str="";

        while((str=bb.readLine())!=null){

            System.out.println(str);

        }

 

     //如何列出某个目录下的所有文件
             File f=new File("C:\\");
             File[] flists=f.listFiles();
             for(int i=0;i<flists.length;i++){
                 if(flists[i].isDirectory()){
                     System.out.println("dirctory is---------------"+flists[i].getName());
                 }else
                     System.out.println("file is=="+flists[i].getName());
                
             }


本文转载自:http://blog.csdn.net/renjanely/article/details/8611747

共有 人打赏支持
奥特曼之王
粉丝 1
博文 71
码字总数 8768
作品 0
郑州
Java基础笔记21

21.01_IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出. 2.FileR...

dreamkong
2017/12/11
0
0
磁盘的IO单位

对于磁盘来说,一次磁盘的连续读或者连续写叫做一次IO。 计算机各个层次上的“一次IO” 应用程序向操作系统请求:“读取/etc/passwd到我的缓冲区”,操作系统读取后返回应用程序一个信号,这...

yy410
2017/10/26
0
0
reactor模型 preactor模型

通常的,对一个文件描述符指定的文件或设备, 有两种工作方式: 阻塞与非阻塞。所谓阻塞方式的意思是指, 当试图对该文件描述符进行读写时, 如果当时没有东西可读,或者暂时不可写, 程序就进入等...

小熊猫大暴走
2013/01/02
0
3
转载-C语言FILE类型与标准I/O流

<cstdio> (stdio.h) - C++ Reference http://www.cplusplus.com/reference/cstdio/ 标准IO以及文件IO。 标准IO:标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文...

zray4u
2016/07/15
29
0
2、Java并发性和多线程-多线程的优点

以下内容转自http://ifeve.com/benefits/: 尽管面临很多挑战,多线程有一些优点使得它一直被使用。这些优点是: 资源利用率更好 程序设计在某些情况下更简单 程序响应更快 资源利用率更好 ...

easonjim
2017/06/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

解读|TARS开源项目发布Go语言版本

导语:近日,Tars 开源项目在上海发布并开源了 Go 语言版本,其性能与 C++ 版本相当,比 gRPC 的性能高 5 倍。 ——编者 Tars 是腾讯开源的一款微服务框架,它于去年 4 月份开源,并于今年 ...

腾讯开源
7分钟前
0
0
redis-list

列表用来存储多个有序的字符串,列表中元素是可以重复的,最多可以存储2^32-1个元素 常用命令: lrange key start end 获取指定范围内的元素列表,索引从0开始 0,-1取出所有的元素 lindex k...

拐美人
23分钟前
0
0
AOSP Build System —— Soong

Soong Soong is the replacement for the old Android make-based build system. It replaces Android.mk files with Android.bp files, which are JSON-like simple declarative descriptio......

雪落青山
40分钟前
1
0
Unity C# lock关键字的坑

Unity 5.6 环境下的 lock关键字,在特定的多线程环境下会死锁 崩溃 其中一种情况: 异步socket 操作,由于内部是一个线程池回调的异步回调,操作同一个对象时 lock关键字会概率出现死锁 闪退...

梦想游戏人
51分钟前
1
0
简单的svm例子

数据来源:https://github.com/oumiga1314/Coursera-ML-AndrewNg-Notes/blob/master/code/ex6-SVM/data/ex6data1.mat import pandas as pd import numpy as np import scipy.io as sio impor......

南桥北木
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部