当前位置: 首页 > news >正文

java文件的I/O

【原创】

java文件的I/O操作,简单来说就是向文件中写入数据以及从文件中读出数据,这是我们平日做的最多的操作,这里给出两种文件I/O操作,当然还有许多的操作方法,各种流的使用,可谓是高深莫测;不管了,直接怼代码:

 1 package com.jiajia.filedemo;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.File;
 6 import java.io.FileInputStream;
 7 import java.io.FileOutputStream;
 8 import java.io.FileReader;
 9 import java.io.FileWriter;
10 import java.io.InputStreamReader;
11 import java.io.OutputStreamWriter;
12 
13 public class Demo_1 {
14         public static void main(String[] args) throws Exception{
15         String filename_input = "/Users/fanjiajia/Desktop/temp";
16         String filename_output = "/Users/fanjiajia/Desktop/temp2.txt";//若temp1不存在,他会自己给你创建一个
17         String str = read_1(filename_input);
18         System.out.println(str);
19         writer_2(str, filename_output);
20     }
21     /**
22      *文件读取方法一
23      * @param filename
24      * @return
25      * @throws Exception
26      */
27     public static String read_1(String filename) throws Exception{
28         File f = new File(filename);
29         FileInputStream f_in = new FileInputStream(f);
30         InputStreamReader isr = new InputStreamReader(f_in);
31         BufferedReader buf_reader = new BufferedReader(isr); 
32         String s;
33         StringBuilder sb = new StringBuilder();
34         while((s=buf_reader.readLine())!=null){
35             sb.append(s+"\n");
36         }
37         buf_reader.close();
38         isr.close();
39         f_in.close();
40         return sb.toString();
41     }
42     /**
43      * 文件读取方法二
44      * @param filename
45      * @return
46      * @throws Exception
47      */
48     public static String read_2(String filename) throws Exception {
49         FileReader filereader = new FileReader(filename);
50         BufferedReader in = new BufferedReader(filereader);
51         String s ;
52         StringBuilder sb = new StringBuilder();
53         while((s=in.readLine())!=null){
54             sb.append(s+"\n");
55         }
56         in.close();
57         filereader.close();
58         return sb.toString();
59     }
60 
61     /**
62      * 文件写入方法一
63      * @param str
64      * @param filename
65      * @throws Exception
66      */
67     public static void writer_1(String str,String filename    ) throws Exception{
68         //将给定的字符串输出到filename文件中
69         FileWriter f_writer = new FileWriter(filename);
70         BufferedWriter buf_writer = new BufferedWriter(f_writer);
71         buf_writer.write(str);
72         buf_writer.close();
73         f_writer.close();
74     }
75     /**
76      * 文件写入方法二
77      * @param str
78      * @param filename
79      * @throws Exception
80      */
81     public static void writer_2(String str,String filename) throws Exception{
82         File f = new File(filename);
83         FileOutputStream f_os = new FileOutputStream(f);
84         OutputStreamWriter os  = new OutputStreamWriter(f_os); 
85         BufferedWriter buf_writer = new BufferedWriter(os);
86         buf_writer.write(str);
87         buf_writer.close();
88         os.close();
89         f_os.close();
90     }
91 }

很明显直接使用FileReader 和 FileWriter这两个类并结合BufferedReader/BufferedWriter很方便

其实FileWriter类的对象w直接就可以write,并且在创建是=时候,如果是new FileWriter(。。。,true);第二个参数为true的话,便是在文件末尾写;

转载于:https://www.cnblogs.com/numen-fan/p/6595081.html

相关文章:

  • nginx服务与nfs服务
  • JavaScript_9_循环
  • 在Windows下为PHP5.6安装redis扩展和memcached扩展
  • 源码0603-08-掌握-NSURLSession-上传
  • MapReduce实例——查询缺失扑克牌
  • list内变量排序
  • 【bzoj1507】 JSOI2008—Blue Mary的旅行
  • JZOJ 3.25 1420——【汕头市选2012初中组】求和(sum)
  • 报表reportviewer控件使用时,单行文本过长的解决办法
  • 【VB超简单入门】五、基本输出输入
  • WordPress基础知识:条件判断标签及用法大全
  • EF Code-First 学习之旅 Code First Conventions
  • Excel从零整理
  • 线段树建图
  • C#编程(七十六)----------使用指针实现基于栈的高性能数组
  • .pyc 想到的一些问题
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【347天】每日项目总结系列085(2018.01.18)
  • Apache Pulsar 2.1 重磅发布
  • CSS实用技巧干货
  • C学习-枚举(九)
  • Docker容器管理
  • If…else
  • maven工程打包jar以及java jar命令的classpath使用
  • Odoo domain写法及运用
  • oschina
  • springboot_database项目介绍
  • vue学习系列(二)vue-cli
  • 半理解系列--Promise的进化史
  • 给github项目添加CI badge
  • 聊聊flink的BlobWriter
  • 我是如何设计 Upload 上传组件的
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二)linux使用docker容器运行mysql
  • (二开)Flink 修改源码拓展 SQL 语法
  • (排序详解之 堆排序)
  • (实战篇)如何缓存数据
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)memcache、redis缓存
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .Net 路由处理厉害了
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • @ConfigurationProperties注解对数据的自动封装
  • @selector(..)警告提示
  • [Neural Network] {Université de Sherbrooke} L2.9 Param Initialization
  • [NISACTF 2022]easyssrf
  • [Oh My C++ Diary]return 1和return 0的区别
  • [Oh My C++ Diary]用cout输出时后endl的使用
  • [one_demo_14]一个简单的easyui的demo
  • [python] 过年燃放烟花
  • [Python] 输入与输出
  • [python]bar_chart_race设置日期格式
  • [pytorch入门] 6. 神经网络