[Java] 文件操作--边读边写,在指定位置添加内容(避免乱码) →→→→→进入此内容的聊天室

来自 , 2019-08-28, 写在 Java, 查看 147 次.
URL http://www.code666.cn/view/7bd28f15
  1.         /**
  2.          * @param lineNumber   选择要添加内容的行数
  3.          * @param attribute1        选择要添加的内容1
  4.          * @param attribute2        选择要添加的内容1
  5.          *  给finalFile,tempFilePath改成你自己的路径就可以用了
  6.          */
  7.         public static void appendText(int lineNumber, String attribute1, String attribute2) throws IOException {
  8.                 int count = 0;
  9.                 String tempFilePath=NewPath.sampleFolderPath+"\\temp.java";
  10.                 File finalFile = new File(NewPath.sample_Main);
  11.                 File tempFile=new File(tempFilePath);
  12.                 Utils.CopyFile(NewPath.sample_Main, tempFilePath);
  13.                 FileInputStream fileInputStream;
  14.                 try {
  15.                         fileInputStream = new FileInputStream(tempFile);
  16.                         //读取文件类
  17.                         InputStreamReader inReader = new InputStreamReader(fileInputStream, "UTF-8");
  18.                         BufferedReader bufReader = new BufferedReader(inReader);
  19.                        
  20.  
  21.                        
  22.                         String line = null;
  23.                        
  24.                         //写入文件类
  25.                         OutputStreamWriter fileWriter = new OutputStreamWriter(new FileOutputStream(finalFile),"UTF-8");  
  26.                 BufferedWriter bufWriter=new BufferedWriter(fileWriter);    
  27.                        
  28.                        
  29.                         //边读边写,并添加内容
  30.                         while ((line = bufReader.readLine()) != null) {
  31.                                 count++;
  32.                             bufWriter.write(line);
  33.                             bufWriter.newLine();
  34.                                 if (count == lineNumber) {
  35.                                         bufWriter.append("        item = new HashMap<String, Object>();");
  36.                                         bufWriter.newLine();
  37.                                         bufWriter.append("        item.put(\"activity_name\", \"" + attribute1 + "\");");
  38.                                         bufWriter.newLine();
  39.                                         bufWriter.append("        item.put(\"activity_class\", " + attribute2 + ");");
  40.                                         bufWriter.newLine();
  41.                                         bufWriter.append("        listItems.add(item);");
  42.                                         bufWriter.newLine();
  43.                                         bufWriter.newLine();
  44.                                 }
  45.                         }
  46.                         //关闭输入输出流
  47.                         bufWriter.close();
  48.                         fileWriter.close();
  49.                         bufReader.close();
  50.                         inReader.close();
  51.                         fileInputStream.close();
  52.                
  53.                        
  54.                 } catch (FileNotFoundException e) {
  55.                         e.printStackTrace();
  56.                 } catch (IOException e) {
  57.                         e.printStackTrace();
  58.                 }
  59.                 System.gc();
  60.                 tempFile.delete();
  61.         }

回复 "文件操作--边读边写,在指定位置添加内容(避免乱码)"

这儿你可以回复上面这条便签

captcha