文档章节

用io读取一个文件.

奥特曼之王
 奥特曼之王
发布于 2017/09/11 13:57
字数 532
阅读 4
收藏 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
博文 75
码字总数 10294
作品 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
Facebook图片存储系统Haystack——存小文件,本质上是将多个小文件合并为一个大文件来降低io次数,meta data里存偏移量

转自:http://yanyiwu.com/work/2015/01/04/Haystack.html 一篇14页的论文Facebook-Haystack, 看完之后我的印象里就四句话: 因为【传统文件系统的弊端】 因为【缓存无法解决长尾问题】 所以...

桃子红了呐
2017/11/16
0
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

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
今天
3
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
3
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
4
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
4
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部