java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException; /**
* 文件读取四步骤
* ---------要保证文件存在,不能保证就需判断是否存在,在这里手动创建一个文件text.txt以确保存在
* 1:获取文件
* 2:将文件写入到文件输入流中<文件输入流是字节流>
* 3:将文件流写入到输入流Reader中
* 4:将输入流文件放到缓冲流BufferReader中
* 四步骤:执行完毕文件会读入缓冲流
* 5:从缓冲流中每次读取一行打印输出
* 6:关闭资源<流>
* 文件写出同理:
* @author NEXT_NiGHT
*
*/
public class FileRW { public static void main(String[] args) {
//----------------------文件读入
//
File file = new File("text.txt");
try {
35 //2
36 FileInputStream fis=new FileInputStream(file);
37 //3
38 InputStreamReader isr=new InputStreamReader(fis,"utf-8");//FileInputStream字符流转换成字节流要注意编码
39 //4
40 BufferedReader br=new BufferedReader(isr);
41 //5
42 String line;//用来保存读取到的数据
43 while((line = br.readLine())!=null){//每次读取一行不为空
44 System.out.println(line);
45 }
//
br.close();
isr.close();
fis.close(); //----------------------文件写出
//1链接文件<要写出的位置>
File file2=new File("newtext.txt");
//2文件输出流
56 FileOutputStream fos=new FileOutputStream(file2);
57 //3输出流
58 OutputStreamWriter os=new OutputStreamWriter(fos,"utf-8");
59 //4写入缓冲流
60 BufferedWriter bw=new BufferedWriter(os);
61 //5写入
62 bw.write("七月七日长生殿\n");
63 bw.write("夜半无人私语时\n");
64 bw.write("在天月作比翼鸟\n");
65 bw.write("在地愿为连理枝\n");
//6关闭资源
bw.close();
os.close();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} }
}
以上代码完整阐述了从文件中读取的内容并打印输出,以及如何向一个文件中写入内容:
完整的eclise java代码,可直接运行;
text.txt文件:
七月七日长生殿
夜半无人私语时
在天愿作比翼鸟
在地愿为连理枝
注意:
33行位置链接一个文件,若此时文件不存在那么进行后面的操作就会报异常,提示文件不存在。如果未进行文件是否存在的判定那么就必须保证文件是存在的。所以运行之前要在工程中创建一个文件text.txt
55行的位置同样链接了一个文件,若文件不存在是否后续操作也会报异常呢?答案是否定的,56行的操作会自动创建一个文件,并且后面写入内容时会存入此文件
62行写入文件时用到了write这个函数,执行完毕后如果我们换掉写入的内容,那么newtext.txt这个文件中的内容将是新的内容,write函数将会覆盖掉文件原来的内容
2015-07-20
java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容的更多相关文章
- [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world
[大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...
- 【Spring源码分析】.properties文件读取及占位符${...}替换源码解析
前言 我们在开发中常遇到一种场景,Bean里面有一些参数是比较固定的,这种时候通常会采用配置的方式,将这些参数配置在.properties文件中,然后在Bean实例化的时候通过Spring将这些.pr ...
- 安全研究 | Jenkins 任意文件读取漏洞分析
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云鼎实验室 发表于云+社区专栏 一.漏洞背景 漏洞编号:CVE-2018-1999002 漏洞等级:高危 Jenkins 7 月 18 ...
- linux大文件读取
在生产环境中有时候可能会遇到大文件的读取问题,但是大文件读取如果按照一般的手法.如cat这种都是对io的一个挑战,如果io扛得住还好,如果扛不住 造成的后果,如服务器内存奔溃,日志损坏 方法一: se ...
- 面试刷题28:如何写出安全的java代码?
对jdk,jvm,java应用程序的攻击多种多样?那么从java程序员的角度,如何写出安全的代码呢? 我是李福春,我在准备面试,今天的题目是:如何写出安全的java代码? 答:这个需要从功能设计到实现 ...
- Java IO流的写入和写出操作 FileInputStream和FileOutputStream
今天学习了Java的IO流,关于文件的读入和写出,主要是FileInputStream和FileOutputStream来实现,这两个流是字节流.还有字符流(FileReader和FileWriter ...
- 如何用java写出无副作用的代码
搞java的同学们可能对无副作用这个概念比较陌生,这是函数式编程中的一个概念,无副作用的意思就是: 一个函数(java里是方法)的多次调用中,只要输入参数的值相同,输出结果的值也必然相同,并且在这个函 ...
- 用js写出光棒效应的两种方法与jquery的两中方法
<script src="js/jQuery1.11.1.js" type="text/javascript"></script> &l ...
- 如何写出优雅的JavaScript代码 ? && 注释
如何写出优雅的JavaScript代码 ? 之前总结过一篇<如何写出优雅的css代码?>, 但是前一段时间发现自己的js代码写的真的很任性,没有任何的优雅可言,于是这里总结以下写js时应当 ...
- 应用MVP模式写出可维护的优美Android应用
在Android开发中,我们常常会动辄写出数千行的Java类,而当一个Activity有4.5千行的时候,想找一个逻辑在哪儿就会显得异常痛苦了.比如想在数据加载错误的时候,显示一个提示信息,上上下下得 ...
随机推荐
- JS里面Data日期格式转换
var format = function(time, format){ var t = new Date(time); var tf = function(i){return (i ...
- Android中手机录屏并转换GIF的两种方式
之前在博文中为了更好的给大家演示APP的实现效果,本人了解学习了几种给手机录屏的方法,今天就给大家介绍两种我个人用的比较舒服的两种方法: (1)配置adb环境后,使用cmd命令将手机界面操作演示存为视 ...
- Java 8五大主要功能为开发者提供了哪些便利?
两年前当Java 8发布后,立即受到了业界的欢迎,因为它大大提高了Java的性能.它独特的卖点是,顾及了编程语言的每一个方面,包括JVM(Java虚拟机)和编译器,并且改良了其它帮助系统. Java是 ...
- 如何创建Vim Dotfile?
Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...
- SDWebImage源码解读之SDWebImageCache(下)
第六篇 前言 我们在SDWebImageCache(上)中了解了这个缓存类大概的功能是什么?那么接下来就要看看这些功能是如何实现的? 再次强调,不管是图片的缓存还是其他各种不同形式的缓存,在原理上都极 ...
- 原生javascript 固定表头原理与源码
我在工作中需要固定表头这个功能,我不想去找,没意思.于是就写了一个,我写的是angularjs 自定义指令 起了个 "fix-header" ,有人叫 "freeze- ...
- Javascript 代理模式模拟一个文件同步功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C++随笔:.NET CoreCLR之GC探索(3)
有几天没写GC相关的文章了哈,今天我讲GC的方式是通过一个小的Sample来讲解,这个小的示例代码只有全部Build成功了才会有.地址为D:\coreclr2\coreclr\bin\obj\Wind ...
- 要想提高PHP的编程效率,你必须知道的要点
1.当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数.此函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储 ...
- JavaScript学习笔记(三)——this、原型、javascript面向对象
一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...