java 将字符串、list 写入到文件,并读取内容的案例

我就废话不多说了,大家还是直接看代码吧~

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStreamWriter;
import java.io.StreamCorruptedException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import android.graphics.Bitmap;
public class FileUtils {

	/**
	 * 字符流写入字符串到txt
	 */
	@SuppressWarnings("resource")
	public static void FileString(String path, String data) {
		try {
			FileWriter writer = new FileWriter(path);// 字符流
			writer.write(data);
			writer.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 字节输出到txt
	 *
	 * @param path
	 * @param data
	 */
	@SuppressWarnings("resource")
	public static void FileString2(String path, String data) {
		try {
			FileOutputStream outputStream = new FileOutputStream(path);// 字节流
			outputStream.write(data.getBytes());
			outputStream.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 设置编码格式写出到txt
	 *
	 * @param path
	 * @param data
	 */
	public static void FileString3(String path, String data) {
		try {
			OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(path), "UTF-8");// 设置编码格式
			writer.write(data);
			writer.close();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 追加写入到txt
	 *
	 * @param path
	 * @param data
	 */
	@SuppressWarnings("resource")
	public static void FileString4(String path, String data) {
		try {
			FileOutputStream outputStream = new FileOutputStream(path, true);// 追加写入
			outputStream.write(("\r\n" + data).getBytes());
			outputStream.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 存储list到文件
	 *
	 * @param path
	 * @param list
	 */
	@SuppressWarnings("resource")
	public static <T> void FileWriteList1(String path, List<T> list) {
		try {
			FileOutputStream outputStream = new FileOutputStream(path);
			ObjectOutputStream stream = new ObjectOutputStream(outputStream);
			stream.writeObject(list);
			stream.close();
			outputStream.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 设置编码格式存储list到txt
	 *
	 * @param path
	 * @param list
	 */

	@SuppressWarnings("resource")
	public static <T> void FileWriteList(String path, List<T> list) {
		try {
			BufferedWriter bufferedWriter = new BufferedWriter(
					new OutputStreamWriter(new FileOutputStream(path), "UTF-8"));
			for (T s : list) {
				bufferedWriter.write(s.toString());
				bufferedWriter.newLine();
				bufferedWriter.flush();
			}
			bufferedWriter.close();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * bitmap 写入到本地
	 *
	 * @param path
	 * @param bitmap
	 */
	@SuppressWarnings("resource")
	public static void FileBitmap(String path, Bitmap bitmap) {
		try {
			FileOutputStream outputStream = new FileOutputStream(path);
			bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
			outputStream.flush();
			outputStream.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 读取本地文件数据设置指定编码
	 *
	 * @param path
	 */
	@SuppressWarnings("resource")
	public static String FileInputString(String path) {
		StringBuffer buffer = new StringBuffer();
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path), "UTF-8"));
			String data = null;
			while ((data = reader.readLine()) != null) {
				buffer.append(data + "\r\n");
			}
			reader.close();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return buffer.toString();
	}

	/**
	 * 根据字节读取文件
	 *
	 * @param path
	 * @return
	 */
	@SuppressWarnings("resource")
	public static String FileInputString2(String path) {
		StringBuffer buffer = new StringBuffer();
		try {
			FileInputStream inputStream = new FileInputStream(path);
			byte[] bytes = new byte[1024];
			int bytead = 0;
			while ((bytead = inputStream.read(bytes)) != -1) {
				buffer.append(new String(bytes, 0, bytead));
			}
			inputStream.close();

		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return buffer.toString();
	}

	/**
	 * 获取本地文件中的list
	 *
	 * @param path
	 */

	@SuppressWarnings("resource")
	public static <T> void FileInputList(String path) {
		try {
			FileInputStream inputStream = new FileInputStream(path);
			ObjectInputStream stream = new ObjectInputStream(inputStream);
			List<T> list = (List<T>) stream.readObject();
			inputStream.close();
			stream.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (StreamCorruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 高效读取指定编码格式的文件
	 * @param path
	 * @return
	 */
	@SuppressWarnings("resource")
	public static String FileInput3(String path) {
		StringBuffer buffer = new StringBuffer();
		try {
			BufferedReader bufferedReader = new BufferedReader(
					new InputStreamReader(new FileInputStream(path), "UTF-8"));
			String data = null;
			while ((data = bufferedReader.readLine()) != null) {
				buffer.append(data+"\r\n");
			}
      bufferedReader.close();
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return buffer.toString();
	}
}

补充知识:java读取txt文件为List

文件在桌面放着名字为hello.txt,先看一下要读取的内容

这是为了方便展示demo随便写的,格式是一行一个英文单词,一共五个。

读取代码,这个代码也是网上找的,忘了哪个博客了。

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/**
 * @author :
 * @date : 2018/8/30
 * @description:
 */
public class ReaderFileLine {

  /**
  * @author:
  * @date:2018/8/30
  * @description:从txt文件读取List<String>
  */
  public static List<String> getFileContent(String path) {
    List<String> strList = new ArrayList<String>();
    File file = new File(path);
    InputStreamReader read = null;
    BufferedReader reader = null;
    try {
      read = new InputStreamReader(new FileInputStream(file),"utf-8");
      reader = new BufferedReader(read);
      String line;
      while ((line = reader.readLine()) != null) {
        strList.add(line);
      }
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (read != null) {
        try {
          read.close();
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
      if (reader != null) {
        try {
          reader.close();
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }

    }
    return strList;
  }

  public static void main(String[] args) {
    List<String> fileContent =
    ReaderFileLine.getFileContent("C:\\Users\\Lenovo\\Desktop\\hello.txt");
    for (String s : fileContent) {
      System.out.println(s);
    }
  }

}

输出:

first
second
Third
Fourth
Fifth

注意:

1.这里File这个类导入的包是Io的,不是Nio的

2. ReaderFileLine.getFileContent("C:\\Users\\Lenovo\\Desktop\\hello.txt"); 这个路径是绝对路径

3.路径是一个 反斜杠 \ 但是在代码里面反斜杠是转义的意思,所以需要再加一个\,如果你是用的IDEA恭喜你,它会自动给你加上

以上这篇java 将字符串、list 写入到文件,并读取内容的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java实现文件读取和写入过程解析

    需求说明 实际操作过程中,从D盘根目录下的ak.txt读取文件写入D盘根目录下的hello.txt文件内 实现思路 写两个方法,一个用于读取目标文件,一个用于写入目标文件--详情见代码注释 代码内容 文件读取和写入练习 package com.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOExce

  • java的io操作(将字符串写入到txt文件中)

    复制代码 代码如下: import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.PrintStream;import java.io.PrintWriter;import java.io.RandomAccessFile; public cla

  • java读取txt文件并输出结果

    这篇文章主要介绍了java读取txt文件并输出结果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 描述: 1.java读取指定txt文件并解析 文件格式: 代码: package com.thinkgem.wlw.modules.midea; import java.io.*; import java.util.ArrayList; import java.util.List; /** * @Author: zhouhe * @Date: 20

  • Java(springboot) 读取txt文本内容代码实例

    这篇文章主要介绍了Java(springboot) 读取txt文本内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 public class TxtTest { private static final Logger logger = LoggerFactory.getLogger(TxtTest.class); public static String readTxt(File file) throws IOExcepti

  • java 将字符串、list 写入到文件,并读取内容的案例

    我就废话不多说了,大家还是直接看代码吧~ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import ja

  • Python实现将字典内容写入json文件

    目录 1.无序字典 2.有序字典 3.一键多值字典 4.写入json 4.1 无缩进 4.2 有缩进 方法补充 Python中有序字典和无序字典,一键多值字典. Python将字典内容写入json文件. 1.无序字典 目前了解三种,在Python中直接默认的是无序字典,这种不会按照你插入的顺序排序,即使你对字典排序后,返回的也是一个list变量,而不是字典,倘若你将这个list字典后,又会变回无序字典. 例子如下: import operator x = {"label": "

  • 从Java的jar文件中读取数据的方法

    本文实例讲述了从Java的jar文件中读取数据的方法.分享给大家供大家参考.具体如下: Java 档案 (Java Archive, JAR) 文件是基于 Java 技术的打包方案.它们允许开发人员把所有相关的内容 (.class.图片.声音和支持文件等) 打包到一个单一的文件中.JAR 文件格式支持压缩.身份验证和版本,以及许多其它特性. 从 JAR 文件中得到它所包含的文件内容是件棘手的事情,但也不是不可以做到.这篇技巧就将告诉你如何从 JAR 文件中取得一个文件.我们会先取得这个 JAR

  • Java 合并多个MP4视频文件

    局限性 只支持MP4文件 经过尝试对于一些MP4文件分割不了 依赖 <!-- mp4文件操作jar --> <!-- https://mvnrepository.com/artifact/com.googlecode.mp4parser/isoparser --> <dependency> <groupId>com.googlecode.mp4parser</groupId> <artifactId>isoparser</art

  • Java使用Ajax异步上传文件

    相关代码示例: html代码片段: <form class="layui-form" action="#" id="uploadForm"> <div class="layui-form-item"> <label class="layui-form-label">名称</label> <div class="layui-input-block

  • Python实现PDF文字识别提取并写入CSV文件

    目录 1.前言 2.需求描述 3.开始动手动脑 3.1安装相关第三方包 3.2导入需要用到的第三方库 3.3读取pdf文件,并识别内容 3.4对识别的数据进行处理,写入csv文件 总结 1. 前言 扫描件一直受大众青睐,任何纸质资料在扫描之后进行存档,想使用时手机就能打开,省心省力.但是扫描件的优点也恰恰造成了它的一个缺点,因为是通过电子设备扫描,所以出来的是图像,如果想要处理文件上的内容,直接操作是无法实现的. 那要是想要引用其中的内容怎么办呢?别担心,Python帮你解决问题. 2. 需求描

  • Qt5实现qDebug日志信息写入日志文件过程

    目录 1.思路 2.代码 3.问题 4.结果与扩展思路 1.思路 其实Qt提供了将日志写入文件的方式,是以接口的形式提供的,我们只需要按照我们的需求完成回调函数和我们自己的接口即可. 为方便调用,我们一般直接写到log.h中即可. 1.创建log.h 2.根据我们自己的需求完成回调函数 3.根据需求封装外部调用函数并注册回调函数 2.代码 我这里按照我的需求,当接口传递日志文件名和等级时使用传递的文件存储日志,否则以精确到当前时间为文件名创建日志文件. 提供给外部的调用函数包含日志文件名和日志等

  • java把字符串写入文件里的简单方法分享

    这个示例可以很简单的把字符串写入到文件,大家可以试试哟,这是跟一个外国朋友学的代码,大家可以学习一下了 复制代码 代码如下: import java.io.IOException;import java.nio.file.Files;import java.nio.file.Paths; public class StringToFile {    public static void main(String[] args) throws IOException {        String

  • Java将字符串写入文本文件代码示例

    一.Filewriter与File---将字符串写入文本文件 public static void main(String[] args) { File f=new File("C:\\world.txt");//新建一个文件对象,如果不存在则创建一个该文件 FileWriter fw; try { fw=new FileWriter(f); String str="hello world"; fw.write(str);//将字符串写入到指定的路径下的文件中 fw

  • java 将字符串追加到文件已有内容后面的操作

    我就废话不多说了,大家还是直接看代码吧~ /** * 将字符串追加到文件已有内容后面 * * @param fileFullPath 文件完整地址:D:/test.txt * @param content 需要写入的 */ public static void writeFile(String fileFullPath,String content) { FileOutputStream fos = null; try { //true不覆盖已有内容 fos = new FileOutputSt

随机推荐