java 读取写入TXT文件 防止读取写入乱码

傷城~ 2023-01-20 08:10 134阅读 0赞

Java 读取写入TXT文件

BuuferedReader + FileReader 方式去读txt文本数据

  1. /**
  2. * 第一种读取文件方法
  3. * 读取TXT文件并在控制台中打印
  4. * BufferedReader 下 FileReader 的使用方法 无文件格式化有可能乱码
  5. *
  6. * @param path
  7. * @return
  8. */
  9. public static String readTxt(String path) {
  10. BufferedReader bufferedReader = null;
  11. try {
  12. bufferedReader = new BufferedReader(new FileReader(path));
  13. String txt = "";
  14. StringBuffer stringBuffer = new StringBuffer();
  15. while (null != (txt = bufferedReader.readLine())) {
  16. stringBuffer.append(txt);
  17. }
  18. System.err.println(stringBuffer.toString());
  19. } catch (Exception e) {
  20. e.printStackTrace();
  21. }
  22. return null;
  23. }

BufferedReader + InputStreamReader 读取TXT 文本数据

  1. /**
  2. * 第二种读取文件方法
  3. * 读取TXT文件并在控制台中打印
  4. * BufferedReader 下 InputStreamReader 使用方法 规定文件格式防止乱码
  5. *
  6. * @param path
  7. * @return
  8. */
  9. public static String readTxtLuanMa(String path) {
  10. BufferedReader bufferedReader = null;
  11. String fileContent = "";
  12. try {
  13. bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(path), "UTF-8"));
  14. String txt = "";
  15. StringBuffer stringBuffer = new StringBuffer();
  16. while (null != (txt = bufferedReader.readLine())) {
  17. stringBuffer.append(txt);
  18. }
  19. fileContent = stringBuffer.toString();
  20. } catch (Exception e) {
  21. e.printStackTrace();
  22. }
  23. return fileContent;
  24. }

BufferedWriter + OutputStreamWriter 写入 规定写入数据格式

  1. /**
  2. * 第一种写入
  3. *
  4. * @param path
  5. * @param fileContent
  6. */
  7. public static void writeTxt(String path, String fileContent) {
  8. BufferedWriter bufferedWriter = null;
  9. try {
  10. File file = new File(path);
  11. if (!file.exists()) {
  12. file.createNewFile();
  13. }
  14. bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));
  15. bufferedWriter.write(fileContent);
  16. bufferedWriter.flush();
  17. bufferedWriter.close();
  18. } catch (Exception e) {
  19. e.printStackTrace();
  20. }
  21. }

BufferedWriter 写入TXT文件

  1. /**
  2. * 第二种写入
  3. *
  4. * @param path
  5. * @param fileContent
  6. */
  7. public static void writeTxtFileWriter(String path, String fileContent) {
  8. BufferedWriter bufferedWriter = null;
  9. try {
  10. File file = new File(path);
  11. if (!file.exists()) {
  12. file.createNewFile();
  13. }
  14. bufferedWriter = new BufferedWriter(new FileWriter(file));
  15. bufferedWriter.write(fileContent);
  16. bufferedWriter.flush();
  17. bufferedWriter.close();
  18. } catch (Exception e) {
  19. e.printStackTrace();
  20. }
  21. }

FileOutputStream 写入TXT文件

  1. /**
  2. * 第三种写入
  3. *
  4. * @param path
  5. * @param fileContent
  6. */
  7. public static void writeTxtFileOutputStream(String path, String fileContent) {
  8. FileOutputStream fileOutputStream = null;
  9. try {
  10. File file = new File(path);
  11. if (!file.exists()) {
  12. file.createNewFile();
  13. }
  14. fileOutputStream = new FileOutputStream(file);
  15. fileOutputStream.write(fileContent.getBytes());
  16. } catch (Exception e) {
  17. e.printStackTrace();
  18. } finally {
  19. try {
  20. fileOutputStream.flush();
  21. fileOutputStream.close();
  22. } catch (Exception e) {
  23. e.printStackTrace();
  24. }
  25. }
  26. }

发表评论

表情:
评论列表 (有 0 条评论,134人围观)

还没有评论,来说两句吧...

相关阅读