首页 > 编程语言 >java 文件读写操作

java 文件读写操作

时间:2022-11-18 16:45:40浏览次数:58  
标签:文件 java String 读写操作 io new import 读取

一、BufferedWriter写入文件 + BufferedReader读取文件

缓冲字符(BufferedWriter )是一个字符流类来处理字符数据。不同于字节流(数据转换成字节),你可以直接写字符串,数组或字符数据保存到文件。

BufferedReader是为了提供读的效率而设计的一个包装类,它可以包装字符流。可以从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。

package javaTextCode;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Test {
public static void main(String[] args) throws Exception {
String line1 = "第一行";
String line2 = "第二行";
String line3 = "第三行";
try {
File dir = new File("C://tmp-file/text.txt");
//按字符写入
BufferedWriter bw = new BufferedWriter(new FileWriter(dir));
bw.write(line1);
//换行
bw.newLine();
bw.write(line2);
bw.newLine();
bw.write(line3);
bw.close();
// 按行读取
BufferedReader reader = new BufferedReader(new FileReader(dir));
String str;
while ((str = reader.readLine()) != null) {
System.out.println(str);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

二、FileOutputStream写入文件 + Scanner读取文件

文件输出流(FileOutputStream)是一种用于处理原始二进制数据的字节流类。为了将数据写入到文件中,必须将数据转换为字节,并保存到文件。

Scanner是从JDK1.5开始提供的API,特点是可以按行读取、按分割符去读取文件数据,既可以读取String类型,也可以读取Int类型、Long类型等基础数据类型的数据。

package javaTextCode;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws Exception {
String line1 = "第一行,abc";
String line2 = "第二行,efg";
String line3 = "第三行,gg";
// 获取当前平台的行分隔符
String separator = System.getProperty("line.separator");
File dir = new File("C://tmp-file/text.txt");
// 按字节写入
try (FileOutputStream fos = new FileOutputStream(dir)) {
fos.write(line1.getBytes());
fos.write(separator.getBytes());
fos.write(line2.getBytes());
fos.write(separator.getBytes());
fos.write(line3.getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
// Scanner读取
try (Scanner sc = new Scanner(dir)) {
sc.useDelimiter(",");
while (sc.hasNext()) {
System.out.println(sc.next());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
 

标签:文件,java,String,读写操作,io,new,import,读取
From: https://www.cnblogs.com/huhx-02/p/16903712.html

相关文章

  • idea使用commons-fileupload上传文件
    文件上传使用的工具:https://commons.apache.org/proper/commons-fileupload/faq.html文件上传的前提条件:form表单method="post"form表单enctype="multipart/form-data"......
  • 求超大文件上传方案( jsp )
    ​ javaweb上传文件上传文件的jsp中的部分上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1.通过form表单向后端发送请求     ......
  • nginx做文件下载
    conf/nginx.conf中配置server{listen80;charsetutf-8;server_name服务器IP;root/data/Downloads/;autoindexon;......
  • JavaScript_对象_Math与JavaScript_对象_RegExp1
    JavaScript_对象_MathMath:数学1.创建特点:Math对象不用创建,直接使用。Math.方法名();2.方法random()返回0~1之间的随机数含0不含......
  • Java 8 Stream基础操作汇总
    Java8Stream操作汇总目录Java8Stream操作汇总1.分组2.分组统计3.分组求和4.最大最小值5.排序前提条件://User实体类@DatapublicclassUser{/**......
  • 在XP下创建自解压文件iexpress wizard(解压出的不是原文件)
    https://jingyan.baidu.com/article/f0e83a25d7fbbf22e591012b.html原因是红框内没有勾选上。选上之后就好了。   今天给大家讲在XP下创建自解压文件,XP自带的iexp......
  • 自定义IE表达式使用.tld文件减少jsp文件中的java代码时出现的错误(可运行)cvc-id.3
    tld类型的文件产生错误如下:但是不影响运行。只需要如下:将j--->J就行。原因知晓,若有大佬知晓,欢迎留言。本人看到后,必将改正 ......
  • Java进阶篇——设计模式
    设计模式一、代理模式使用代理类对真实对象进行代理,包括真实对象方法的调用、功能的扩展等。访问的时候也只能访问到代理对象,既保护了真实对象同时可以在原始对象上进行......
  • JavaWeb-06-Servlet
    6.Servlet6.1Servlet简介Servlet就是sun公司开发动态web的一门技术Sun公司在这些API中提供了一个接口叫作:Servlet,如果要开发一个Servlet程序,只需要完成两个步骤:编......
  • Java四种引用类型
    强引用默认的引用,任何对象被赋值即为强引用;强引用不会被GC回收。publicclassStrongReferenceUsage{@TestpublicvoidstringReference(){O......