学过java的都知道java中有非常多的读取文件流的操作。这个要回到javase的io操作了。io流说实话,初学者学的肯定会非常混乱,那么多流,什么输入流,输出流,什么文件流,什么字节流,等等。我在这里只能简单的给大家普及一下java的文件操作了。最后再介绍哪种方式读取文件的方法好用。

首先是File对象,File对象只是一个文件对象,比如你要操作哪个文件,就new File("传入文件的路径和名字"),要不然程序怎么能知道你要读的是哪个文件呢,或者要把哪段内容写入到哪个文件呢?,File对象是在文件操作中必须的。

另外就是流了,你想读取文件,那么就是Reader的对象,或者InputStream相关的对象了。

如果想写东西到文件中,那么就是Write对象,或者outputStream对象了。一般这些都是抽象类,new 的话需要new具体的实现,比如FileOutPutStream就是表示输出到哪个文件

在读文件时,如果读取字节的话,从控制台输出的话,你又不知道怎么控制字节多大,这样就会把源文件读乱了,用readLine()方法不但不会读乱了。而且比如在文件末尾一直敲空白的回车也能去了。

接下来,我比如有一个文件,叫struts.xml,在这个类的同一路径下

package com.cidp.fzxy;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader; public class A {
public static void main(String[] args) throws Exception { //获取这个类的路径path
String path = A.class.getResource("").getPath(); //path + "struts.xml",就是类路径下的struts.xml这个文件了
BufferedReader br = new BufferedReader(new FileReader(new File(path + "struts.xml")));
String s = ""; //定义一个变量s,让s等于br去读一行。
while(!(s = br.readLine()).trim().equals("")){
System.out.println(s);
}
}
}

  

运行结果

这样的话,就可以把文件里面的内容,自动去掉结尾不管多少回车没用的信息了

java非常好用的读取文件的流的代码的更多相关文章

  1. Java FileReader使用相对路径读取文件

    Java FileReader使用相对路径读取文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 在进行编程时需要时常更换主机进行测试,如果使用绝对路径则需要经常更改,为此使用相对路径是一个 ...

  2. java中如何把图片转换成二进制流的代码

    在学习期间,把开发过程经常用到的一些代码段做个备份,下边代码内容是关于java中如何把图片转换成二进制流的代码,应该能对各朋友也有用处. public byte[] SetImageToByteArr ...

  3. java 正则表达式的应用:读取文件,获取其中的电话号码

    1.正则表达式 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描 ...

  4. Java开发之I/O读取文件实例详解

    在java开发或者android开发中,读取文件是不可避免的,以下对java开发中读取文件做了归纳和详解: 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 pa ...

  5. (转)Java按指定行数读取文件

    package test import java.io.File; import java.io.FileReader; import java.io.IOException; import java ...

  6. java中使用相对路径读取文件的写法总结 ,以及getResourceAsStream() (转)

    https://blog.csdn.net/my__sun_/article/details/74450241 读取文件的写法,相对路径 在当前的目录结构中读取test.txt的有四种写法 简单粗暴的 ...

  7. 关于java读取文件IO流学习总结(一)

    IO流的分类: 1.根据流的数据对象来分: 高端流:所有的内存中的流都是高端流,比如:InputStreamReader 低端流:所有的外界设备中的流都是低端流,比如InputStream,Outpu ...

  8. 关于java读取文件IO流学习总结(二)

    今天网上随意逛了逛,某处看到关于文件的操作,描述的不错,加深了对于文件操作的理解,在此分享给大家.希望能够有所收获. java读取txt文件内容: 可以作如下理解: 1. 首先获得一个文件句柄.Fil ...

  9. Java学习:通过Scanner读取文件

    Scanner不仅能够读取用户的键盘输入,还可以读取文件输入. 需要在创建Scanner对象的时候传入一个File对象作为参数.代码如下: import java.util.Scanner; impo ...

随机推荐

  1. 1112 Stucked Keyboard (20 分)

    1112 Stucked Keyboard (20 分) On a broken keyboard, some of the keys are always stucked. So when you ...

  2. [UE4]添加蒙太奇动画

    选择蒙太奇所使用的骨骼

  3. width:100%和width:auto区别

    在div父元素是body时 1.先看没有width限制的div <div style="border:1px solid red; margin-left:50px; margin-r ...

  4. Git强制拉取覆盖本地 Pull force

    git fetch --all git reset --hard origin/master git pull 单条执行 git fetch --all && git reset -- ...

  5. Python3 open()函数参数

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=No ...

  6. 伯克利推出「看视频学动作」的AI智能体

    伯克利曾经提出 DeepMimic框架,让智能体模仿参考动作片段来学习高难度技能.但这些参考片段都是经过动作捕捉合成的高度结构化数据,数据本身的获取需要很高的成本.而近日,他们又更进一步,提出了可以直 ...

  7. solr 通过【配置、多值字段、动态字段】来解决文本表达式查询精确到句子的问题

    一.Solr Multivalue field属性positionIncrementGap理解 分类:Lucene 2014-01-22 10:39阅读(3596)评论(0) 参考:http://ro ...

  8. 1.line (线)

    1.横线 HTML代码: 横线(水平线) <hr/> <div class="row"> 横线(盒子上边框线) </div> CSS代码: .r ...

  9. myeclipse中解决 java heap space/gc overhead limit exceeded eclipse 的方法

    在Eclipse打包的时候报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小须要更改安装Eclipse目录下的eclipse.ini文件. ...

  10. 10 python os&sys 模块

    1.os模块 os模块提供了很多允许你的程序与操作系统直接交互的功能 os模块的主要功能:处理文件和目录,系统相关,执行命令,管理进程 检验给出的路径是否是一个文件:os.path.isfile() ...