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

 更新时间:2020年09月23日 15:27:51   作者:小鲁班one  
这篇文章主要介绍了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 写入到文件,并读取内容的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Java实现查找并移除字符串中的Emoji

    使用Java实现查找并移除字符串中的Emoji

    Emoji 实际上是 UTF-8 (Unicode) 字符集上的特殊字符,这篇文章主要介绍了如何使用Java实现查找并移除字符串中的Emoji,感兴趣的可以了解下
    2024-03-03
  • Spring使用Configuration注解管理bean的方式详解

    Spring使用Configuration注解管理bean的方式详解

    在Spring的世界里,Configuration注解就像是一位细心的园丁,它的主要职责是在这个繁花似锦的园子里,帮助我们声明和管理各种各样的bean,本文给大家介绍了在Spring中如何优雅地管理你的bean,需要的朋友可以参考下
    2024-05-05
  • IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file bytecode version:52.0(java 8)错误的解决办法

    IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file byt

    今天小编就为大家分享一篇关于IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file bytecode version:52.0(java 8)错误的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Springboot集成spring data elasticsearch过程详解

    Springboot集成spring data elasticsearch过程详解

    这篇文章主要介绍了springboot集成spring data elasticsearch过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java语言实现简单FTP软件 FTP软件效果图预览之下载功能(2)

    Java语言实现简单FTP软件 FTP软件效果图预览之下载功能(2)

    这篇文章主要为大家详细介绍了Java语言实现简单FTP软件,FTP软件效果图预览之下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 解决SpringBoot请求返回字符串中文乱码的问题

    解决SpringBoot请求返回字符串中文乱码的问题

    这篇文章主要介绍了解决SpringBoot请求返回字符串中文乱码的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java 单例模式详细解释

    Java 单例模式详细解释

    这篇文章主要给大家介绍了关于Java中四种单例模式的相关资料,其中包括饿汉式、懒汉式、懒汉式(双重锁)及内部类等四种,分别给出了详细的示例代码和介绍,需要的朋友们下面来一起看看吧。
    2021-11-11
  • mybatis-plus Wrapper条件构造器updateForSet更新方式

    mybatis-plus Wrapper条件构造器updateForSet更新方式

    这篇文章主要介绍了mybatis-plus Wrapper条件构造器updateForSet更新方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • JavaEE账号注册模拟网站邮箱激活

    JavaEE账号注册模拟网站邮箱激活

    这篇文章主要为大家详细介绍了JavaEE账号注册模拟网站邮箱激活,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Java/Web调用Hadoop进行MapReduce示例代码

    Java/Web调用Hadoop进行MapReduce示例代码

    本篇文章主要介绍了Java/Web调用Hadoop进行MapReduce示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11

最新评论