!!!!

读取txt文件中的内容

  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.FileReader;
  4. /**
  5. * 2016年05月11日
  6. * 本类模拟从txt文件读取内容的过程
  7. * @author WuJieJecket
  8. *
  9. */
  10. public class PrintFromTxt {
  11. public static void main(String[] args) throws Exception {
  12. //读取全部文件内容
  13. File file = new File("d:\\a\\123.txt");
  14. StringBuilder sb = new StringBuilder();
  15. String s ="";
  16. BufferedReader br = new BufferedReader(new FileReader(file));
  17. while( (s = br.readLine()) != null) {
  18. sb.append(s + "\n");
  19. }
  20. br.close();
  21. String str = sb.toString();
  22. System.out.println(str);
  23. }
  24. }

!!!向文件中写入内容-如果指定文件不存在,会被创建

在main方法中使用if做判断,是否运行测试方法,测试方法有四个,FileOutputStream与FileWriter都是写入到txt文件,区别是后者先写在缓存,清缓存或者缓存已满才会最终把内容放入到txt中。

  1. import java.io.FileNotFoundException;
  2. import java.io.FileOutputStream;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. /**
  6. * 2016年05月11日
  7. * 本类模拟将字符串写入到txt文件的过程
  8. * @author WuJieJecket
  9. *
  10. */
  11. public class WriteToTxt {
  12. public static void main(String[] args) throws FileNotFoundException {
  13. //要写入到文件中的内容  \r是换行
  14. String str1="\r张三1 0 3000\r李四1 1 5000\r王五1 0 4000";
  15. String str2="\r张三2 0 3000\r李四2 1 5000\r王五2 0 4000";
  16. String str3="\r张三3 0 3000\r李四3 1 5000\r王五3 0 4000";
  17. String str4="\r张三4 0 3000\r李四4 1 5000\r王五4 0 4000";
  18. WriteToTxt wtt=new WriteToTxt();
  19. //FileWriter-缓存写入-字符-覆盖重写
  20. if(!true){
  21. wtt.FileWriterTest(str1);
  22. }
  23. //FileOutputStream-直接写入-字节-覆盖重写
  24. if(!true){
  25. wtt.FileOutputStreamTest(str2);
  26. }
  27. //FileWriter-缓存写入-字符-末尾续接
  28. if(!true){
  29. wtt.FileWriterTest2(str3);
  30. }
  31. //FileOutputStream-直接写入-字节-末尾续接
  32. if(!true){
  33. wtt.FileOutputStreamTest2(str4);
  34. }
  35. }
  36. /*
  37. * 写文件
  38. * 覆盖重写
  39. * FileWriter
  40. * 先写在缓存中,需要flush
  41. * 字符 eg:1,2,a,b
  42. */
  43. public void FileWriterTest(String str){
  44. FileWriter writer;
  45. try {
  46. // writer = new FileWriter("/home/1.txt");
  47. writer = new FileWriter("d:\\a\\1231.txt");
  48. writer.write(str);
  49. writer.flush();     //这一个比较重要,是清理缓存的过程,之后需要写入的信息被写到txt文件中
  50. writer.close();
  51. } catch (IOException e) {
  52. e.printStackTrace();
  53. }
  54. }
  55. /*
  56. *写文件
  57. *覆盖重写
  58. *FileOutputStream
  59. *直接写入到文件中,不存在缓存
  60. *字节 byte
  61. */
  62. public void FileOutputStreamTest(String str){
  63. FileOutputStream fos;
  64. try {
  65. fos=new FileOutputStream("d:\\a\\1232.txt");
  66. fos.write(str.getBytes());
  67. fos.close();
  68. } catch (FileNotFoundException e) {
  69. // TODO Auto-generated catch block
  70. e.printStackTrace();
  71. } catch (IOException e) {
  72. // TODO Auto-generated catch block
  73. e.printStackTrace();
  74. }
  75. }
  76. /*
  77. * 写文件
  78. * 末尾续接
  79. * FileWriter
  80. * 先写在缓存中,需要flush
  81. * 字符 eg:1,2,a,b
  82. */
  83. public void FileWriterTest2(String str){
  84. FileWriter writer;
  85. try {
  86. // writer = new FileWriter("/home/1.txt");
  87. writer = new FileWriter("d:\\a\\1233.txt",true);
  88. writer.write(str);
  89. writer.flush();     //这一个比较重要,是清理缓存的过程,之后需要写入的信息被写到txt文件中
  90. writer.close();
  91. } catch (IOException e) {
  92. e.printStackTrace();
  93. }
  94. }
  95. /*
  96. *写文件
  97. *末尾续接
  98. *FileOutputStream
  99. *直接写入到文件中,不存在缓存
  100. *字节 byte
  101. */
  102. public void FileOutputStreamTest2(String str){
  103. FileOutputStream fos;
  104. try {
  105. fos=new FileOutputStream("d:\\a\\1234.txt",true);
  106. fos.write(str.getBytes());
  107. fos.close();
  108. } catch (FileNotFoundException e) {
  109. // TODO Auto-generated catch block
  110. e.printStackTrace();
  111. } catch (IOException e) {
  112. // TODO Auto-generated catch block
  113. e.printStackTrace();
  114. }
  115. }
  116. }

txt的按行、列读

http://blog.csdn.net/bestcxx/article/details/65446489

最后附上自己写的一个封装好的方法,可以直接使用,不会覆盖原文件(即末尾续接)

package com.zhaowu.renwu2;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException; public class FileUtil {
public static void toFile (String content) {
File file = null;
FileWriter fw = null;
file = new File("/home/acer/桌面/aaa");
try {
if (!file.exists()) {
file.createNewFile();
}
fw = new FileWriter(file,true);
fw.write(content);//向文件中复制内容
fw.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(fw != null){
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

向txt文件中写入内容(覆盖重写与在末尾续写+FileOutputStream与FileWriter)(转发:https://blog.csdn.net/bestcxx/article/details/51381460)的更多相关文章

  1. 爬虫出现Forbidden by robots.txt(转载 https://blog.csdn.net/zzk1995/article/details/51628205)

    先说结论,关闭scrapy自带的ROBOTSTXT_OBEY功能,在setting找到这个变量,设置为False即可解决. 使用scrapy爬取淘宝页面的时候,在提交http请求时出现debug信息F ...

  2. 虚拟机中的CentOS7如何上网?---https://blog.csdn.net/nothing2017/article/details/61420767

    虚拟机中的CentOS7如何上网?https://blog.csdn.net/nothing2017/article/details/61420767

  3. 如何简单地理解Python中的if __name__ == '__main__'(https://blog.csdn.net/yjk13703623757/article/details/77918633)

    1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...

  4. GDAL中文件的驱动及对应的文件格式(转) https://blog.csdn.net/haojknm/article/details/5851968

    GDALDriver * poDriver; char *pszFormat=GetOutimgInfo(m_strInput); poDriver = GetGDALDriverManager()- ...

  5. 重载与重写的区别----https://blog.csdn.net/zhu_apollo/article/details/1852542

    重载 overloading        1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型.重载是一个类中多态性的一种表现.        ...

  6. 通信中的错误代码 (repost from https://blog.csdn.net/zzhuan_1/article/details/80066716)

    • 100 - 继续.• 101 - 切换协议.• 110 重新启动标记答复.• 120 服务已就绪,在 nnn 分钟后开始.• 125 数据连接已打开,正在开始传输.• 150 文件状态正常,准备打 ...

  7. git中利用rebase来压缩多次提交 ----- 原文:https://blog.csdn.net/itfootball/article/details/44154121

    之前我们用git merge –squash来将分支中多次提交合并到master后,只保留一次提交历史.但是有些提交到github远程仓库中的commit信息如何合并呢? 使用下面的命令,最后一个数字 ...

  8. OpenGL学习脚印: uniform blocks在着色器中的使用 转自https://blog.csdn.net/wangdingqiaoit/article/details/52717963

    写在前面 目前,我们在着色器中要传递多个uniform变量时,总是使用多个uniform,然后在主程序中设置这些变量的值:同时如果要在多个shader之间共享变量,例如投影矩阵projection和视 ...

  9. golang中defer的详解 转自https://blog.csdn.net/skh2015java/article/details/77081250

    Go里的defer很有用,尤其在很多执行模块化操作时,初始化时给各个需要执行的模块传入参数,但是这些参数有些事在模块执行过程中才赋值的. 这时候有了defer就不会把代码写的很凌乱. Go的defer ...

随机推荐

  1. PL/SQL开发五年工作经验精典实例

    1. minus(差集)与intersect(交集) minus指令是运用在两个SQL语句上.它先找出第一个SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果中,如果有的话,那这一笔 ...

  2. display:flex和display:box布局浏览器兼容性分析

    display:flex和display:box都可用于弹性布局,不同的是display:box是2009年的命名,已经过时,用的时候需要加上前缀:display:flex是2012年之后的命名.在实 ...

  3. 从git中更新本地需要填写的正则

    <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENA ...

  4. EJB EJB定义了一组可重用的组件:Enterprise Beans

    EJB EJB定义了一组可重用的组件:Enterprise Beans.开发人员可以利用这些组件,像搭积木一样建立分布式应用.

  5. MFC多国语言——资源DLL

    此随笔中主要内容来自http://blog.csdn.net/china_hxx/article/details/10066655,原出处不详. 以下内容基于VC 6.0.要实现界面多语言化,必须要先 ...

  6. 【机器学习具体解释】KNN分类的概念、误差率及其问题

    转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/50923056 勿在浮沙筑高台 KNN概念 KNN(K-Nearest Neig ...

  7. 【转】node.exe调试JavaScript代码

    node.exe调试JavaScript代码 目的: Console.log可以打印一些信息,光有log还不够,当程序出现问题时通过log可以定位到错误位置,但是当我们想查看错误现场的变量时,log就 ...

  8. RPM ,DPKG ,YUM ,APT-GET

    http://blog.csdn.net/li740207611/article/details/50801462

  9. 用原生JS模仿jquery,需要HTML5的支持

    jQuery是现在最流行的JavaScript工具库. 据统计,目前全世界57.3%的网站使用它.也就是说,10个网站里面,有6个使用jQuery.如果只考察使用工具库的网站,这个比例就会上升到惊人的 ...

  10. python3----练习题(冒泡排序)

    冒泡,原理是临近的数字两两进行比较,按照从小到大的顺序进行交换,这样交换一次之后,最大的数字就被交换到了最后一位. li = [33, 2, 10, 1] for j in range(1, len( ...