Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java编写文本文件_Java_String_File_File Io - Fatal编程技术网

用java编写文本文件

用java编写文本文件,java,string,file,file-io,Java,String,File,File Io,我有一个包含大量单词的文本文件,我想通过每4个单词写**来划分单词。 到目前为止,我所做的是添加第一个**(前4个单词),而我在放置其他星星时遇到了一些困难 这是我到目前为止的代码(我使用的是java) 请。。给我一些想法 谢谢:)当你做如果(i==lineno)你只会得到如果(i==4),所以你的行为是正常的。您需要使用模运算符if((i%lineno)==0)为每行获取一个星号。 我刚刚修复了它@Sachin sharmaJava区分大小写,因此您的代码仍然无法工作,但问题的正确答案已经发布

我有一个包含大量单词的文本文件,我想通过每4个单词写**来划分单词。 到目前为止,我所做的是添加第一个**(前4个单词),而我在放置其他星星时遇到了一些困难

这是我到目前为止的代码(我使用的是java)

请。。给我一些想法

谢谢:)

当你做
如果(i==lineno)
你只会得到
如果(i==4)
,所以你的行为是正常的。您需要使用模运算符
if((i%lineno)==0)
为每行获取一个星号。

我刚刚修复了它@Sachin sharmaJava区分大小写,因此您的代码仍然无法工作,但问题的正确答案已经发布。
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);
 }
}