簡體   English   中英

用Java編寫文本文件

[英]writing in text file in java

我有一個包含大量單詞的文本文件,我想通過每4個單詞寫**來划分單詞。 到目前為止,我所做的只是添加第一個**(前四個字),我在放置其他星星時遇到了一些困難。

到目前為止,這是我的代碼(我正在使用Java)

import java.io.*;

public class Insert {

 public static void main(String args[]){
     try {
       INSERT In = new INSERT();
       int tc=4;

       In.insertStringInFile (new File("D:/Users//im080828/Desktop/Souad/project/reduction/weight/outdata/d.txt"), tc, "**");
       }
     catch (Exception e) {
       e.printStackTrace();
       }
 }


 public void insertStringInFile(File inFile, int lineno, String lineToBeInserted) 
   throws Exception {
 // temp file
 File outFile = new File("$$$$$$$$.tmp");

 // input
 FileInputStream fis  = new FileInputStream(inFile);
 BufferedReader in = new BufferedReader
     (new InputStreamReader(fis));

 // output         
 FileOutputStream fos = new FileOutputStream(outFile);
 PrintWriter out = new PrintWriter(fos);

 String thisLine = "";
 int i =1;
 while ((thisLine = in.readLine()) != null) {
   if(i == lineno) out.println(lineToBeInserted);
   out.println(thisLine);
   i++;
   }
out.flush();
out.close();
in.close();

inFile.delete();
outFile.renameTo(inFile);
 }
}

請..給我一些想法

謝謝 :)

當您執行if (i == lineno)您只有在if (i==4)時才為true,因此您的行為是正常的。 您需要使用取模運算符if ((i % lineno) == 0)來獲得每行一個星星。 http://www.dreamincode.net/forums/topic/273783-the-use-of-the-modulo-operator/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM