『壹』 java文件读写 在一个已经有内容的文件中追加第一行 如何做到
如果要在已有内容的文件开头插入内容就只能先把原内容读出来,然后先写入要插入的东西,然后再把原内容写回去,然后关闭输出流
如果要在已有内容的文件末尾追加内容就比较简单了
在创建FileOutputStream对象的时候第二个参数给个true,就表示续写文件,而非覆盖文件已有内容了
newFileOutputStream(file,true)
『贰』 JAVA如何在文件头添加内容
“先读入,再写回”的方法时可行的这个文件有几十兆,不代表整个读入,不是占用版几十兆权内存。先写入头部的文字,再循环读一点源文件,写一点源文件。RandomAccessFile 也可以,只是最初要留出空间,比如一些空格
『叁』 java文件读写,在一个已经有内容的文件中,追加第一行,如何做到
我的想法是可以用RandomAccessFile,这个类的seek方法,想在文件的哪个位置插入内容都行。所以你的第一行就不在话下了。但是,这个会覆盖你文件中插入位置后面的内容。相当于我们在输入的时候,按了键盘的insert键盘。所以,像你这种情况只能用临时文件来存储原有的内容,然后把要插入的数据写入文件,再把临时文件的内容追加到文件中。void insert(String filename,int pos,String insertContent){//pos是插入的位置 File tmp = File.createTempFile("tmp",null); tmp.deleteOnExit(); try{ RandomAccessFile raf = new RandomAccessFile(filename,"rw"); FileOutputStream tmpOut = new FileOutputStream(tmp); FileInputStream tmpIn = new FileInputStream(tmp); raf.seek(pos);//首先的话是0 byte[] buf = new byte[64]; int hasRead = 0; while((hasRead = raf.read(buf))>0){ //把原有内容读入临时文件 tmpOut.write(buf,0,hasRead); } raf.seek(pos); raf.write(insertContent.getBytes()); //追加临时文件的内容 while((hasRead = tmpIn.read(buf))>0){ raf.write(buf,0,hasRead); } }}
『肆』 java 怎样向一个已存在的文件中添加内容
如果想向某个文件最后添加内容,可使用FileWriter fw = new FileWriter("log.txt",true);在创建FileWriter时加个true就可以了。
下面是详细的示例代码:
Filefile=newFile("D:/Test.txt");Filedest=newFile("D:/new.txt");try{BufferedReaderreader=newBufferedReader(newFileReader(file));BufferedWriterwriter=newBufferedWriter(newFileWriter(dest,true));Stringline=reader.readLine();while(line!=null){writer.write(line);line=reader.readLine();}writer.flush();reader.close();writer.close();}catch(FileNotFoundExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}
『伍』 怎么 用 java语言对文件进行追加内容
额 那个java的输入到文件的方法很多拿个例子来说一下比如java 的输入有个FileOutputStream 文件输出流专 实现向文件中写入内属容他除了有个无参的构造方法还有一个构造方法FileOutputStream(File file ,boolean append) 若第二个参数为true,当前输入流会在文件的末尾开始写入新的内容即追加新内容
『陆』 java中FileOutputStream流,向文件中追加内容,而不是覆盖掉文件中原有的数据
publicFileOutputStream(Stringname,booleanappend)throwsFileNotFoundException创建一个向具有指定name的文件中写入数据的输出文版件流。如果第权二个参数为true,则将字节写入文件末尾处,而不是写入文件开始处。如上文档,new的时候加一个true参数则是追加。默认为false。
『柒』 java 一个文件内容写入或追加到另一个文件和一个文件内容复制到另一个文件在方法上有什么区别吗
楼上的审题,复人家题主制问的是“文件追加写入”和“文件复制”有没有区别,不是问你怎么实现文件追加复制。我觉得吧这个得看你的两段代码了,其实想来是没有区别的,复制的本质还是先读文件,再把读出来的东西写到目标文件了。关键在于调用write()方法时追加标志append是true还是false,追加标志默认是false的,也就是不追加,直接覆盖目标文件。
『捌』 java如何对文件追加写入
java文件追加内容的三种方法:方法一:public static void writeToTxtByRandomAccessFile(File file, String str){ RandomAccessFile randomAccessFile = null; try { randomAccessFile = new RandomAccessFile(file,"rw"); long len = randomAccessFile.length(); randomAccessFile.seek(len); randomAccessFile.writeBytes(new String(str.getBytes(),"iso8859-1")+"\r\n"); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); }finally{ try { randomAccessFile.close(); } catch (IOException e) { e.printStackTrace(); } } }方法二: public static void writeToTxtByFileWriter(File file, String content){ BufferedWriter bw = null; try { FileWriter fw = new FileWriter(file, true); bw = new BufferedWriter(fw); bw.write(content); } catch (IOException e) { e.printStackTrace(); }finally{ try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } }方法三: public static void writeToTxtByOutputStream(File file, String content){ BufferedOutputStream bufferedOutputStream = null; try { bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file, true)); bufferedOutputStream.write(content.getBytes()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch(IOException e ){ e.printStackTrace(); }finally{ try { bufferedOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
『玖』 java如何追加写入txt文件
java中,对文件进行追加内容操作的三种方法!
importjava.io.BufferedWriter;importjava.io.FileOutputStream;importjava.io.FileWriter;importjava.io.IOException;importjava.io.OutputStreamWriter;importjava.io.PrintWriter;importjava.io.RandomAccessFile;//如果文件存在,则追加内容;如果文件不存在,则创建文件,追加内容的三种方法{@SuppressWarnings("static-access")publicstaticvoidmain(String[]args){AppendContentToFilea=newAppendContentToFile();a.method1();a.method2("E:\dd.txt","222222222222222");a.method3("E:\dd.txt","33333333333");}
方法1:
publicvoidmethod1(){FileWriterfw=null;try{//如果文件存在,则追加内容;如果文件不存在,则创建文件Filef=newFile("E:\dd.txt");fw=newFileWriter(f,true);}catch(IOExceptione){e.printStackTrace();}PrintWriterpw=newPrintWriter(fw);pw.println("追加内容");pw.flush();try{fw.flush();pw.close();fw.close();}catch(IOExceptione){e.printStackTrace();}}
方法2:
publicstaticvoidmethod2(Stringfile,Stringconent){BufferedWriterout=null;try{out=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(file,true)));out.write(conent+"");}catch(Exceptione){e.printStackTrace();}finally{try{out.close();}catch(IOExceptione){e.printStackTrace();}}}
方法3:
publicstaticvoidmethod3(StringfileName,Stringcontent){try{//打开一个随机访问文件流,按读写方式RandomAccessFilerandomFile=newRandomAccessFile(fileName,"rw");//文件长度,字节数longfileLength=randomFile.length();//将写文件指针移到文件尾。randomFile.seek(fileLength);randomFile.writeBytes(content+"");randomFile.close();}catch(IOExceptione){e.printStackTrace();}}}
『拾』 JAVA文件追加的几种方式
java文件追加内容的三种方法:方法一:public static void writeToTxtByRandomAccessFile(File file, String str){RandomAccessFile randomAccessFile = null;try {randomAccessFile = new RandomAccessFile(file,"rw");long len = randomAccessFile.length();randomAccessFile.seek(len);randomAccessFile.writeBytes(new String(str.getBytes(),"iso8859-1")+"\r\n");} catch (FileNotFoundException e) {e.printStackTrace();}catch (IOException e) {e.printStackTrace();}finally{try {randomAccessFile.close();} catch (IOException e) {e.printStackTrace();}}}方法二:public static void writeToTxtByFileWriter(File file, String content){BufferedWriter bw = null;try {FileWriter fw = new FileWriter(file, true);bw = new BufferedWriter(fw);bw.write(content);} catch (IOException e) {e.printStackTrace();}finally{try {bw.close();} catch (IOException e) {e.printStackTrace();}}}方法三:public static void writeToTxtByOutputStream(File file, String content){BufferedOutputStream bufferedOutputStream = null;try {bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file, true));bufferedOutputStream.write(content.getBytes());} catch (FileNotFoundException e) {e.printStackTrace();} catch(IOException e ){e.printStackTrace();}finally{try {bufferedOutputStream.close();} catch (IOException e) {e.printStackTrace();}}}
未经允许不得转载:山九号 » java文件追加内容|java文件读写在一个已经有内容的文件中追加第一行如何做到