java 將字符串、list 寫入到文件,并讀取內(nèi)容的案例
我就廢話不多說了,大家還是直接看代碼吧~
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 blocke.printStackTrace();}} /** * 字節(jié)輸出到txt * * @param path * @param data */@SuppressWarnings('resource')public static void FileString2(String path, String data) {try {FileOutputStream outputStream = new FileOutputStream(path);// 字節(jié)流outputStream.write(data.getBytes());outputStream.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.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 blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.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(('rn' + data).getBytes());outputStream.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.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 blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.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 blocke.printStackTrace();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.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 blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} /** * 讀取本地文件數(shù)據(jù)設置指定編碼 * * @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 + 'rn');}reader.close();} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return buffer.toString();} /** * 根據(jù)字節(jié)讀取文件 * * @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 blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.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 blocke.printStackTrace();} catch (StreamCorruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.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+'rn');} bufferedReader.close();} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return buffer.toString();}}
補充知識:java讀取txt文件為List
文件在桌面放著名字為hello.txt,先看一下要讀取的內(nèi)容
這是為了方便展示demo隨便寫的,格式是一行一個英文單詞,一共五個。
讀取代碼,這個代碼也是網(wǎng)上找的,忘了哪個博客了。
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:UsersLenovoDesktophello.txt'); for (String s : fileContent) { System.out.println(s); } } }
輸出:
firstsecondThirdFourthFifth
注意:
1.這里File這個類導入的包是Io的,不是Nio的
2. ReaderFileLine.getFileContent('C:UsersLenovoDesktophello.txt'); 這個路徑是絕對路徑
3.路徑是一個 反斜杠 但是在代碼里面反斜杠是轉(zhuǎn)義的意思,所以需要再加一個,如果你是用的IDEA恭喜你,它會自動給你加上
以上這篇java 將字符串、list 寫入到文件,并讀取內(nèi)容的案例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
