java文件的简单读写操作方法实例分析

本文实例讲述了java文件的简单读写操作方法。分享给大家供大家参考,具体如下:

Java重要的两个流

FileInputStream

该流用于从文件中读取数据。

1.可以使用字符串类型的文件名来创建一个输入流对象来读取文件。

例如:

String filename = "D:\\java运行环境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java";
InputStream in = new FileInputStream(filename);

2.也可以使用一个文件对象来创建一个输入流对象来读取文件。但是首先需要使用File()方法来创建以恶搞文件对象,代码如下:

File f = new File("D:\\java运行环境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java");
InputStream in = new FileInputStream(f);

3.创建了一个InputStream对象以后,再来了解下它的一些方法。

  • close():关闭文件输入流并且释放与该流有关的所有系统资源。
  • read(int r):该方法从InputStream对象读取制定字节的数据。返回为整数值。返回下一字节的数据,如果已经到文件尾则返回-1。
  • read(byte[] r):该方法从输入流读取r.length长度的字节。返回读取的字节数,如果是文件尾则返回-1。
  • available():该方法返回下一次对此输入流调用的方法,可以不受阻塞地从此输入流读取的字节数。返回一个整数值。(读取剩下未读的)

FileOutPutStream

该流用于创建一个文件并且向文件中写数据。

如果该流再打开文件进行输出前,目标文件不存在,那么该流会创建该文件。

1.使用字符串类型的文件名来创建一个输出流对象

OutputStream f = new FileOutputStream("D:\\android\\file_operation\\test.txt");

2.也可以使用一个文件对象来创建一个输出流来写文件。首先用File()方法来创建一个文件对象。

File filename_2 = new File("D:\\android\\file_operation\\test.txt");
OutputStream out = new FileOutputStream(filename_2);

3.创建了一个OutputStream对象以后,再来了解下它的一些方法。

  • close():关闭此文件输入流并释放与该流有关的所有系统资源。
  • write(int w):该方法把指定的字节写到输出流中。
  • write(byte[] w):该方法把指定数组中w.length长度的字节写入OutputStream中去。

例子

这是一个从我电脑的D:\java运行环境\ZHL\src\java2018_8_5五子棋\GobangMain.java路径下获取文件中的内容,并且将其复制到这个路径下D:\android\file_operation\test.txt中的txt文件中。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class NoteDemo {

    public static void main(String[] args) {
        String filename = "D:\\java运行环境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java";
        File filename_2 = new File("D:\\android\\file_operation\\test.txt");
        //先从地址filename中去读取文件中的内容存入str中去
        //再将str中内容写入一个记事本中去,记事本的路径自己给定
        try {
            //创建流
            InputStream in = new FileInputStream(filename);
            OutputStream out = new FileOutputStream(filename_2);
            try {
                //创建缓存区域读取字节文件
                byte buffer[] = new byte[in.available()];
                //读取字节文件
                in.read(buffer);
                //对字节进行处理
                String str = new String(buffer);
                System.out.println(str);
                //向该路径写入内容
            out.write(str.getBytes());
                //关闭流
                in.close();
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
    }
}

运行结果是在java中输出前一个路径中的内容还有在第二个路径下创建自己命名好的txt文件,其中写入了前一个路径中的内容:

部分截图如下:

在D:\android\file_operation\test.txt路径下,创建好的txt文件:

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • Java基础教程之字符流文件读写

    前言 上篇文章,我们介绍了 Java 的文件字节流框架中的相关内容,而我们本篇文章将着重于文件字符流的相关内容. 首先需要明确一点的是,字节流处理文件的时候是基于字节的,而字符流处理文件则是基于一个个字符为基本单元的. 但实际上,字符流操作的本质就是「字节流操作」+「编码」两个过程的封装,你想是不是,无论你是写一个字符到文件,你需要将字符编码成二进制,然后以字节为基本单位写入文件,或是你读一个字符到内存,你需要以字节为基本单位读出,然后转码成字符. 理解这一点很重要,这将决定你对字符流整体上的理

  • 全面了解java byte数组与文件读写

    全面了解java byte数组与文件读写 import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class FileHelper { <span style="white-space:pre"> </span

  • java对指定目录下文件读写操作介绍

    最近因为项目的国际化的需要,需要对整个项目的100来个插件做国际化,这是一件痛苦的事情,因为纯体力劳动.为了省点工作量,想着能不能写个程序批处理了,减少点工作量,于是就有了下面的代码. 1.读取指定的(.java)文件: 复制代码 代码如下: public static String readFile(String path) throws IOException { File f = new File(path); StringBuffer res = new StringBuffer();

  • java文件读写工具类分享

    本文实例为大家分享了java文件读写工具类的具体代码,供大家参考,具体内容如下 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.FileWriter;

  • Java IO 之文件读写简单实例

    Java IO 之文件读写简单实例 1.文件读 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字节为单位读取文件内容,一次读一个字

  • java实现文件读写与压缩实例

    本文通过实例讲述了Java对文件读写与压缩的实现方法,具体代码如下: package com.toone.iform.action.common; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutp

  • Java编程之文件读写实例详解

    本文实例讲述了Java编程中文件读写的方法.分享给大家供大家参考,具体如下: Java中文件读写操作的作用是什么? 回答这个问题时应该先想到的是Java只是一门语言,我们的一种使用工具而已,这样答案就明晰了,就是将外来的各种数据写入到某一个文件中去,用以保存下来:或者从文件中将其数据读取出来,供我们使用.就如下电影过程,从网络资源中下载一部电影保存于你电脑中(写文件),当你想看的时候就用播放器打开(读文件). Java中如何对文件进行读写操作? 先理一理,Java中的流分两种,字节流和字符流,其

  • java进行文件读写操作详解

    直接上代码,有详细注释,有图解,相信你懂得! 复制代码 代码如下: package day14; 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.

  • Java文件读写IO/NIO及性能比较详细代码及总结

    干Java这么久,一直在做WEB相关的项目,一些基础类差不多都已经忘记.经常想得捡起,但总是因为一些原因,不能如愿. 其实不是没有时间,只是有些时候疲于总结,今得空,下定决心将丢掉的都给捡起来. 文件读写是一个在项目中经常遇到的工作,有些时候是因为维护,有些时候是新功能开发.我们的任务总是很重,工作节奏很快,快到我们不能停下脚步去总结. 文件读写有以下几种常用的方法 1.字节读写(InputStream/OutputStream) 2.字符读取(FileReader/FileWriter) 3.

  • java文件的简单读写操作方法实例分析

    本文实例讲述了java文件的简单读写操作方法.分享给大家供大家参考,具体如下: Java重要的两个流 FileInputStream 该流用于从文件中读取数据. 1.可以使用字符串类型的文件名来创建一个输入流对象来读取文件. 例如: String filename = "D:\\java运行环境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java"; InputStream in = new FileInputStream(filename); 2.

  • IOS文件的简单读写实例详解

    IOS文件的简单读写实例详解 数组(可变与不可变)和字典(可变与不可变)中元素对象的类型,必须是NSString,NSArray,NSDictionary,NSData,否则不能直接写入文件 #pragma mark---NSString的写入与读取--- //1:获取路径 NSString *docunments = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObje

  • Java设计模式之静态代理模式实例分析

    本文实例讲述了Java设计模式之静态代理模式.分享给大家供大家参考,具体如下: 代理模式,可以通过代理可以在原来的基础上附加一些其他的操作.静态代理模式相对比较简单无需再程序运行时动态的进行代理. 静态代理模式的角色: ① 抽象角色:真实对象和代理对象的共同接口.其中声明真实对象和代理对象需要做的事. ② 真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用. ③ 代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作. 下面提

  • websocket++简单使用及实例分析

    前言 html5支持使用websocket协议与服务器保持一个长连接,方便双方互相传输数据,而且服务器也能主动发送信息给客户端,而在这之前使用HTTP是很难做到的.下面介绍使用C++实现的websocket++的简单使用.websocket++更详细介绍点此. websocket++需要boost的支持,所以工程中需要包含boost的头文件和库.boost在VS中的如何使用参考此文章. C++代码 #include "stdafx.h" #include <iostream>

  • Java用POI导入导出Excel实例分析

    1.异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException 解决方法: 使用的poi的相关jar包一定版本一定要相同!!!!! 2.maven所使用jar包,没有使用maven的话,就用poi-3.9.jar和poi-ooxml-3.9.jar(这个主要是用于Excel2007以后的版本)两个jar包就行() <dependency> <groupId>org.apache.po

  • java 文件大数据Excel下载实例代码

    java 文件大数据Excel下载实例代码 excel可以用xml表示.故可以以此来实现边写边下载文件 package com.tydic.qop.controller; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.I

  • Java List 用法详解及实例分析

    Java List 用法详解及实例分析 Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引 ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步 LinkedList:底层的数据结构是链表结构(特点是查询较慢,增删较快) Vector

  • Java文件与类动手动脑实例详解

    动手动脑1: 使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件. package classJava; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.FileVisitOption; import java.nio.file.FileVisitResult; import java.nio.file.FileVisitor; im

  • java中ThreadLocal的应用场景实例分析

    说到线程的安全,我们可以通过ThreadLocal来解决.但作为一种强大的变量,它的应用场景远不止如此.在各类的框架中,我们依然可以使用来对它们进行管理.同时在使用ThreadLocal时需要注意内存泄漏的问题.下面我们就这两点进行分析,并带来对应代码的展示. 1.各种框架中的应用 Spring框架的事务管理中使用ThreadLocal来管理连接,每个线程是单独的连接,当事务失败时不能影响到其他线程的事务过程或结果,还有大家耳闻目睹的ORM框架.Mybatis也是用ThreadLocal管理,S

  • php没有文件被上传的实例分析及解决办法

    1.修改php.ini,设置上传文件的大小. 2.在httpd.conf中添加"php_value upload_max_filesize "300M"". 3.重启服务器即可. 使用ThinkPhp框架上传小图片文件成功,上传大文件失败. 后来查找了原因,是因为php限制了上传文件的大小,修改php.ini如下配置: upload_max_filesize = 300M post_max_size = 300M 重启服务器,依然如此,问题并未得到解决. 解决方法如

随机推荐